App-JSON-to

 view release on metacpan or  search on metacpan

lib/App/JSON/to.pm  view on Meta::CPAN


    die "missing target format\n" unless defined $to;
    die "invalid target format '$to'\n"
	unless $to =~ /\A[a-z]+\z/ && eval { require "App/JSON/to/$to.pm"; 1 };
    my $class = __PACKAGE__ . '::' . $to;
    my $obj = $class->can('new') ? $class->new : $class;

    # TODO parse options
    # GetOptions($obj->options);

    binmode(STDIN, ':raw');
    my $data = decode_json do { local $/; <STDIN> };

    if (my $enc_meth = $obj->can('encoding')) {
	binmode(STDOUT, ':encoding('.$obj->$enc_meth().')');
    }

    print $obj->dump($data);
}

1;
__END__

=encoding UTF-8



( run in 0.273 second using v1.01-cache-2.11-cpan-00829025b61 )