Chess-PGN-Extract
view release on metacpan or search on metacpan
"runtime" : {
"requires" : {
"Carp" : "0",
"Data::Dump" : "0",
"Encode" : "0",
"Exporter::Tiny" : "0",
"File::Temp" : "0",
"IO::Handle" : "0",
"JSON::XS" : "0",
"Sys::Cmd" : "0",
"Try::Tiny" : "0",
"perl" : "5.008001"
}
},
"test" : {
"requires" : {
"File::Basename" : "0",
"File::Which" : "0",
"Test::More" : "0"
}
}
file: lib/Chess/PGN/Extract/Stream.pm
requires:
Carp: '0'
Data::Dump: '0'
Encode: '0'
Exporter::Tiny: '0'
File::Temp: '0'
IO::Handle: '0'
JSON::XS: '0'
Sys::Cmd: '0'
Try::Tiny: '0'
perl: '5.008001'
resources:
license: http://dev.perl.org/licenses/
version: '0.02'
requires 'perl', '5.008001';
requires 'Carp';
requires 'Data::Dump';
requires 'Encode';
requires 'Exporter::Tiny';
requires 'File::Temp';
requires 'IO::Handle';
requires 'JSON::XS';
requires 'Sys::Cmd';
requires 'Try::Tiny';
on 'configure' => sub {
requires 'Module::Build';
requires 'Module::Build::Pluggable';
requires 'Module::Build::Pluggable::CPANfile';
};
on 'test' => sub {
requires 'File::Basename';
requires 'File::Which';
lib/Chess/PGN/Extract.pm view on Meta::CPAN
use base 'Exporter::Tiny';
our @EXPORT = qw| read_games |;
use Carp qw| carp croak |;
use Data::Dump qw| dump |;
use Encode qw| encode_utf8 |;
use IO::Handle;
use JSON::XS qw| decode_json |;
use Sys::Cmd qw| spawn |;
use Try::Tiny;
sub read_games {
my $pgn = shift;
my %opts = @_;
# TODO: add options to be passed to pgn-extract
my $proc = spawn ( 'pgn-extract', '-s', '-Wjson', $pgn );
my $out = do { local $/; $proc->stdout->getline };
my @err = $proc->stderr->getlines;
if (@err) {
( run in 0.526 second using v1.01-cache-2.11-cpan-05444aca049 )