App-Table2YAML
view release on metacpan or search on metacpan
lib/App/Table2YAML/CLI.pm view on Meta::CPAN
sub _parse_opts_fixedwidth {
my $self = shift;
my %opt = splice @_;
foreach (q(field_offset)) {
if ( exists $opt{$_} ) {
my $values = delete $opt{$_};
my @value;
foreach my $value ( @{$values} ) {
push @value, split m{[\s,]+}msx, $value;
}
@value = grep { defined && $_ ne q() } @value;
$self->opts->{$_} = [@value];
}
else {
my $msg = qq('--$_' is mandatory for '--input_type=fixedwidth');
push @{ $self->errors() }, $msg;
}
} ## end foreach (q(field_offset))
lib/App/Table2YAML/Loader/AsciiTable.pm view on Meta::CPAN
chomp $record;
my $length = length $record;
if ( index( $record, $sep ) == 0 ) {
$record = substr $record, 1, $length;
}
if ( substr $record, -1 eq q($sep) ) {
$record = substr $record, 0, $length - 2;
}
my @row = split m{\Q$sep\E}msx, $record;
if ( @row == 1 && $row[0] =~ m{^-+(?:\+-+)*$}msx ) {
next;
}
foreach (@row) {
s{\A\p{IsSpace}+}{}msx;
s{\p{IsSpace}+\z}{}msx;
s{\\vert(?:\{\})?}{|}gmsx;
}
t/app-table2yaml.t view on Meta::CPAN
my %offset = (
ascii7 => [ 4, 4, 4, 25, ],
simple => [ 4, 7, 16, 20, 14, 18, 12, 14, 7, ],
);
my ( %yml, @test );
foreach my $file ( keys %test_file ) {
my ( $name, $dir, $suffix ) = fileparse( $file, qr{\.[^.]*$} );
if ( $suffix eq q(.yml) ) {
my $yml = do { local ( @ARGV, $/ ) = $file; <> };
$yml{$name} = [ split m{\n}msx, $yml ];
next;
}
my $type = basename($dir);
my %opt = (
$name => {
input => $file,
input_type => $type,
testname => catdir( $type, basename($file) ),
}
( run in 0.900 second using v1.01-cache-2.11-cpan-f5b5a18a01a )