App-PlatformInfo
view release on metacpan or search on metacpan
script/platform-info view on Meta::CPAN
#
#BEGIN {
# eval 'require Scalar::Util';
# unless($@){
# *JSON::PP::blessed = \&Scalar::Util::blessed;
# *JSON::PP::reftype = \&Scalar::Util::reftype;
# *JSON::PP::refaddr = \&Scalar::Util::refaddr;
# }
# else{
# eval 'sub UNIVERSAL::a_sub_not_likely_to_be_here { ref($_[0]) }';
# *JSON::PP::blessed = sub {
# local($@, $SIG{__DIE__}, $SIG{__WARN__});
# ref($_[0]) ? eval { $_[0]->a_sub_not_likely_to_be_here } : undef;
# };
# require B;
# my %tmap = qw(
# B::NULL SCALAR
# B::HV HASH
# B::AV ARRAY
# B::CV CODE
# B::IO IO
# B::GV GLOB
# B::REGEXP REGEXP
# );
# *JSON::PP::reftype = sub {
# my $r = shift;
#
# return undef unless length(ref($r));
#
# my $t = ref(B::svref_2object($r));
#
# return
# exists $tmap{$t} ? $tmap{$t}
# : length(ref($$r)) ? 'REF'
# : 'SCALAR';
# };
# *JSON::PP::refaddr = sub {
# return undef unless length(ref($_[0]));
#
# my $addr;
# if(defined(my $pkg = blessed($_[0]))) {
# $addr .= bless $_[0], 'Scalar::Util::Fake';
# bless $_[0], $pkg;
# }
# else {
# $addr .= $_[0]
# }
#
# $addr =~ /0x(\w+)/;
# local $^W;
# hex($1);
# }
# }
#}
#
#
#
#$JSON::PP::true = do { bless \(my $dummy = 1), "JSON::PP::Boolean" };
#$JSON::PP::false = do { bless \(my $dummy = 0), "JSON::PP::Boolean" };
#
#sub is_bool { blessed $_[0] and ( $_[0]->isa("JSON::PP::Boolean") or $_[0]->isa("Types::Serialiser::BooleanBase") or $_[0]->isa("JSON::XS::Boolean") ); }
#
#sub true { $JSON::PP::true }
#sub false { $JSON::PP::false }
#sub null { undef; }
#
#
#package JSON::PP::IncrParser;
#
#use strict;
#
#use constant INCR_M_WS => 0;
#use constant INCR_M_STR => 1;
#use constant INCR_M_BS => 2;
#use constant INCR_M_JSON => 3;
#use constant INCR_M_C0 => 4;
#use constant INCR_M_C1 => 5;
#use constant INCR_M_TFN => 6;
#use constant INCR_M_NUM => 7;
#
#$JSON::PP::IncrParser::VERSION = '1.01';
#
#sub new {
# my ( $class ) = @_;
#
# bless {
# incr_nest => 0,
# incr_text => undef,
# incr_pos => 0,
# incr_mode => 0,
# }, $class;
#}
#
#
#sub incr_parse {
# my ( $self, $coder, $text ) = @_;
#
# $self->{incr_text} = '' unless ( defined $self->{incr_text} );
#
# if ( defined $text ) {
# if ( utf8::is_utf8( $text ) and !utf8::is_utf8( $self->{incr_text} ) ) {
# utf8::upgrade( $self->{incr_text} ) ;
# utf8::decode( $self->{incr_text} ) ;
# }
# $self->{incr_text} .= $text;
# }
#
# if ( defined wantarray ) {
# my $max_size = $coder->get_max_size;
# my $p = $self->{incr_pos};
# my @ret;
# {
# do {
# unless ( $self->{incr_nest} <= 0 and $self->{incr_mode} == INCR_M_JSON ) {
# $self->_incr_parse( $coder );
#
# if ( $max_size and $self->{incr_pos} > $max_size ) {
# Carp::croak("attempted decode of JSON text of $self->{incr_pos} bytes size, but max_size is set to $max_size");
# }
# unless ( $self->{incr_nest} <= 0 and $self->{incr_mode} == INCR_M_JSON ) {
# if ( $self->{incr_mode} == INCR_M_WS and $self->{incr_pos} ) {
( run in 1.548 second using v1.01-cache-2.11-cpan-39bf76dae61 )