App-PlatformInfo
view release on metacpan or search on metacpan
script/platform-info view on Meta::CPAN
# return 'null';
# }
# encode_error( sprintf("encountered object '%s', but neither allow_blessed, convert_blessed nor allow_tags settings are enabled (or TO_JSON/FREEZE method missing)", $obj)
# );
# }
# else {
# return $self->value_to_json($obj);
# }
# }
# else{
# return $self->value_to_json($obj);
# }
# }
#
#
# sub hash_to_json {
# my ($self, $obj) = @_;
# my @res;
#
# encode_error("json text or perl structure exceeds maximum nesting level (max_depth set too low?)")
# if (++$depth > $max_depth);
#
# my ($pre, $post) = $indent ? $self->_up_indent() : ('', '');
# my $del = ($space_before ? ' ' : '') . ':' . ($space_after ? ' ' : '');
#
# for my $k ( _sort( $obj ) ) {
# if ( OLD_PERL ) { utf8::decode($k) }
# push @res, $self->string_to_json( $k )
# . $del
# . ( ref $obj->{$k} ? $self->object_to_json( $obj->{$k} ) : $self->value_to_json( $obj->{$k} ) );
# }
#
# --$depth;
# $self->_down_indent() if ($indent);
#
# return '{}' unless @res;
# return '{' . $pre . join( ",$pre", @res ) . $post . '}';
# }
#
#
# sub array_to_json {
# my ($self, $obj) = @_;
# my @res;
#
# encode_error("json text or perl structure exceeds maximum nesting level (max_depth set too low?)")
# if (++$depth > $max_depth);
#
# my ($pre, $post) = $indent ? $self->_up_indent() : ('', '');
#
# for my $v (@$obj){
# push @res, ref($v) ? $self->object_to_json($v) : $self->value_to_json($v);
# }
#
# --$depth;
# $self->_down_indent() if ($indent);
#
# return '[]' unless @res;
# return '[' . $pre . join( ",$pre", @res ) . $post . ']';
# }
#
# sub _looks_like_number {
# my $value = shift;
# if (USE_B) {
# my $b_obj = B::svref_2object(\$value);
# my $flags = $b_obj->FLAGS;
# return 1 if $flags & ( B::SVp_IOK() | B::SVp_NOK() ) and !( $flags & B::SVp_POK() );
# return;
# } else {
# no warnings 'numeric';
# return if utf8::is_utf8($value);
# return unless length((my $dummy = "") & $value);
# return unless 0 + $value eq $value;
# return 1 if $value * 0 == 0;
# return -1;
# }
# }
#
# sub value_to_json {
# my ($self, $value) = @_;
#
# return 'null' if(!defined $value);
#
# my $type = ref($value);
#
# if (!$type) {
# if (_looks_like_number($value)) {
# return $value;
# }
# return $self->string_to_json($value);
# }
# elsif( blessed($value) and $value->isa('JSON::PP::Boolean') ){
# return $$value == 1 ? 'true' : 'false';
# }
# else {
# if ((overload::StrVal($value) =~ /=(\w+)/)[0]) {
# return $self->value_to_json("$value");
# }
#
# if ($type eq 'SCALAR' and defined $$value) {
# return $$value eq '1' ? 'true'
# : $$value eq '0' ? 'false'
# : $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ? 'null'
# : encode_error("cannot encode reference to scalar");
# }
#
# if ( $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ) {
# return 'null';
# }
# else {
# if ( $type eq 'SCALAR' or $type eq 'REF' ) {
# encode_error("cannot encode reference to scalar");
# }
# else {
# encode_error("encountered $value, but JSON can only represent references to arrays or hashes");
# }
# }
#
# }
# }
#
#
# my %esc = (
# "\n" => '\n',
# "\r" => '\r',
# "\t" => '\t',
# "\f" => '\f',
# "\b" => '\b',
# "\"" => '\"',
# "\\" => '\\\\',
# "\'" => '\\\'',
# );
#
#
# sub string_to_json {
# my ($self, $arg) = @_;
#
# $arg =~ s/([\x22\x5c\n\r\t\f\b])/$esc{$1}/g;
# $arg =~ s/\//\\\//g if ($escape_slash);
# $arg =~ s/([\x00-\x08\x0b\x0e-\x1f])/'\\u00' . unpack('H2', $1)/eg;
#
# if ($ascii) {
# $arg = JSON_PP_encode_ascii($arg);
# }
#
# if ($latin1) {
# $arg = JSON_PP_encode_latin1($arg);
( run in 1.076 second using v1.01-cache-2.11-cpan-39bf76dae61 )