ARGV-JSON
view release on metacpan or search on metacpan
);
if (-d 'share') {
$args{share_dir} = 'share';
}
my $builder = Module::Build->subclass(
class => 'MyBuilder',
code => q{
sub ACTION_distmeta {
die "Do not run distmeta. Install Minilla and `minil install` instead.\n";
}
sub ACTION_installdeps {
die "Do not run installdeps. Run `cpanm --installdeps .` instead.\n";
}
}
)->new(%args);
$builder->create_build_script();
my $mbmeta = CPAN::Meta->load_file('MYMETA.json');
my $meta = CPAN::Meta->load_file('META.json');
my $prereqs_hash = CPAN::Meta::Prereqs->new(
$meta->prereqs
requires 'perl', '5.008001';
requires 'parent';
requires 'JSON';
requires 'Tie::Handle';
on 'test' => sub {
requires 'Test::More', '0.98';
};
lib/ARGV/JSON.pm view on Meta::CPAN
use 5.008005;
use strict;
use warnings;
use JSON;
our $VERSION = '0.01';
our $JSON = JSON->new->utf8;
our @Data;
sub import {
local $/;
while (local $_ = <>) {
$JSON->incr_parse($_);
while (my $datum = $JSON->incr_parse) {
push @Data, $datum;
}
}
tie *ARGV, 'ARGV::JSON::Handle';
}
package
ARGV::JSON::Handle;
use Tie::Handle;
use parent -norequire => 'Tie::StdHandle';
sub READLINE {
if (wantarray) {
return splice @ARGV::JSON::Data;
} else {
return shift @ARGV::JSON::Data;
}
}
1;
__END__
( run in 0.262 second using v1.01-cache-2.11-cpan-4d50c553e7e )