App-CSVUtils
view release on metacpan or search on metacpan
lib/App/CSVUtils.pm view on Meta::CPAN
} else {
$meta->{args}{input_filename} = {%{$argspecopt_input_filename{input_filename}}};
_add_arg_pos($meta->{args}, 'input_filename');
}
push @$tags, 'reads-csv';
} # if reads_csv
if ($writes_csv) {
$meta->{args}{$_} = {%{$argspecs_csv_output{$_}}} for keys %argspecs_csv_output;
if ($reads_csv) {
$meta->{args}{$_} = {%{$argspecsopt_inplace{$_}}} for keys %argspecsopt_inplace;
$meta->{args_rels}{'dep_all&'} //= [];
push @{ $meta->{args_rels}{'dep_all&'} }, ['inplace_backup_ext', ['inplace']];
$meta->{args_rels}{'choose_one&'} //= [];
push @{ $meta->{args_rels}{'choose_one&'} }, ['inplace', 'output_filename'];
push @{ $meta->{args_rels}{'choose_one&'} }, ['inplace', 'output_filenames'];
}
if ($writes_multiple_csv) {
$meta->{args}{output_filenames} = {%{$argspecopt_output_filenames{output_filenames}}};
_add_arg_pos($meta->{args}, 'output_filenames', 'slurpy');
if ($reads_csv) {
$meta->{args_rels}{'choose_one&'} //= [];
push @{ $meta->{args_rels}{'choose_one&'} }, [qw/output_filenames inplace/];
}
push @$tags, 'writes-multiple-csv';
} else {
$meta->{args}{output_filename} = {%{$argspecopt_output_filename{output_filename}}};
_add_arg_pos($meta->{args}, 'output_filename');
if ($reads_csv) {
$meta->{args_rels}{'choose_one&'} //= [];
push @{ $meta->{args_rels}{'choose_one&'} }, [qw/output_filename inplace/];
}
}
$meta->{args}{overwrite} = {%{$argspecopt_overwrite{overwrite}}};
$meta->{args_rels}{'dep_any&'} //= [];
push @{ $meta->{args_rels}{'dep_any&'} }, ['overwrite', ['output_filename', 'output_filenames']];
push @$tags, 'writes-csv';
} # if writes csv
} # CREATE_ARGS_PROP
CREATE_ARGS_RELS_PROP: {
$meta->{args_rels} = {};
if ($add_args_rels) {
$meta->{args_rels}{$_} = $add_args_rels->{$_} for keys %$add_args_rels;
}
} # CREATE_ARGS_RELS_PROP
if ($add_meta_props) {
$meta->{$_} = $add_meta_props->{$_} for keys %$add_meta_props;
}
} # CREATE_META
{
my $package = caller();
no strict 'refs'; ## no critic: TestingAndDebugging::ProhibitNoStrict
*{"$package\::$name"} = $code;
#use DD; dd $meta;
${"$package\::SPEC"}{$name} = $meta;
}
1;
}
1;
# ABSTRACT: CLI utilities related to CSV
__END__
=pod
=encoding UTF-8
=head1 NAME
App::CSVUtils - CLI utilities related to CSV
=head1 VERSION
This document describes version 1.036 of App::CSVUtils (from Perl distribution App-CSVUtils), released on 2025-02-04.
=head1 DESCRIPTION
This distribution contains the following CLI utilities:
=over
=item 1. L<csv-add-fields>
=item 2. L<csv-avg>
=item 3. L<csv-check-cell-values>
=item 4. L<csv-check-field-names>
=item 5. L<csv-check-field-values>
=item 6. L<csv-check-rows>
=item 7. L<csv-cmp>
=item 8. L<csv-concat>
=item 9. L<csv-convert-to-hash>
=item 10. L<csv-csv>
=item 11. L<csv-delete-fields>
=item 12. L<csv-dump>
=item 13. L<csv-each-row>
=item 14. L<csv-fill-cells>
( run in 0.536 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )