view release on metacpan or search on metacpan
- Update error message (field option -F is now -f).
1.011 2023-02-14 Released-By: PERLANCAR; Urgency: medium
- [bugfix] -b was not added.
1.010 2023-02-14 Released-By: PERLANCAR; Urgency: medium
- Add inplace mode (--inplace, --inplace-backup-ext). Forbid input and
output as the same unless user specifies inplace mode. Ref: RT#146453.
1.009 2023-02-10 Released-By: PERLANCAR; Urgency: medium
- Add options: --output-always-quote, --output-quote-empty.
- [doc] Add an example of using --output-always-quote in
Manual/Cookbook.pod
lib/App/CSVUtils.pm view on Meta::CPAN
summary => 'Output to the same file as input',
schema => 'true*',
description => <<'_',
Normally, you output to a different file than input. If you try to output to the
same file (`-o INPUT.csv -O`) you will clobber the input file; thus the utility
prevents you from doing it. However, with this `--inplace` option, you can
output to the same file. Like perl's `-i` option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (`-o`) when using this option,
but you can specify backup extension with `-b` option.
Some caveats:
- if input file is a symbolic link, it will be replaced with a regular file;
- renaming (implemented using `rename()`) can fail if input filename is too long;
- value specified in `-b` is currently not checked for acceptable characters;
- things can also fail if permissions are restrictive;
_
tags => ['category:output'],
},
inplace_backup_ext => {
summary => 'Extension to add for backup of input file',
schema => 'str*',
default => '',
description => <<'_',
In inplace mode (`--inplace`), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
_
cmdline_aliases => {b=>{}},
tags => ['category:output'],
},
);
our %argspecopt_output_filename = (
output_filename => {
lib/App/CSVUtils.pm view on Meta::CPAN
delete $r->{output_fh};
}
if ($r->{util_args}{inplace}) {
my $output_filenum = $r->{output_filenum} // 0;
my $i = -1;
for my $output_filename (@{ $r->{output_filenames} }) {
$i++;
last if $i > $output_filenum;
(my $input_filename = $output_filename) =~ s/\.\w{5}\z//
or die [500, "BUG: Can't get original input file '$output_filename'"];
if (length(my $ext = $r->{util_args}{inplace_backup_ext})) {
my $backup_filename = $input_filename . $ext;
log_info "[csvutil] Backing up input file '$output_filename' -> '$backup_filename' ...";
rename $input_filename, $backup_filename or die [500, "Can't rename '$input_filename' -> '$backup_filename': $!"];
}
log_info "[csvutil] Renaming from temporary output file '$output_filename' -> '$input_filename' ...";
rename $output_filename, $input_filename or die [500, "Can't rename back '$output_filename' -> '$input_filename': $!"];
}
}
delete $r->{output_filenames};
delete $r->{output_filename};
delete $r->{output_rownum};
delete $r->{output_data_rownum};
delete $r->{code_print};
lib/App/CSVUtils.pm view on Meta::CPAN
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&'} //= [];
lib/App/CSVUtils/csv_add_fields.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_avg.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_cmp.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filenames> => I<array[filename]> (default: ["-"])
lib/App/CSVUtils/csv_concat.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filenames> => I<array[filename]> (default: ["-"])
lib/App/CSVUtils/csv_csv.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_delete_fields.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_fill_cells.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_freqtable.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_grep.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_intrange.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_lookup_fields.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filenames> => I<array[filename]> (default: ["-"])
lib/App/CSVUtils/csv_ltrim.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_munge_field.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_munge_rows.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_pick_cells.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_pick_fields.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_pick_rows.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_quote.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_replace_newline.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_rtrim.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_select_fields.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_select_rows.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_setop.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filenames> => I<array[filename]> (default: ["-"])
lib/App/CSVUtils/csv_shuf_fields.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_shuf_rows.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_sort_fields.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_sort_fields_by_example.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")
lib/App/CSVUtils/csv_sort_fields_by_spec.pm view on Meta::CPAN
=item * B<inplace> => I<true>
Output to the same file as input.
Normally, you output to a different file than input. If you try to output to the
same file (C<-o INPUT.csv -O>) you will clobber the input file; thus the utility
prevents you from doing it. However, with this C<--inplace> option, you can
output to the same file. Like perl's C<-i> option, this will first output to a
temporary file in the same directory as the input file then rename to the final
file at the end. You cannot specify output file (C<-o>) when using this option,
but you can specify backup extension with C<-b> option.
Some caveats:
=over
=item * if input file is a symbolic link, it will be replaced with a regular file;
=item * renaming (implemented using C<rename()>) can fail if input filename is too long;
=item * value specified in C<-b> is currently not checked for acceptable characters;
=item * things can also fail if permissions are restrictive;
=back
=item * B<inplace_backup_ext> => I<str> (default: "")
Extension to add for backup of input file.
In inplace mode (C<--inplace>), if this option is set to a non-empty string, will
rename the input file using this extension as a backup. The old existing backup
will be overwritten, if any.
=item * B<input_escape_char> => I<str>
Specify character to escape value in field in input CSV, will be passed to Text::CSV_XS.
Defaults to C<\\> (backslash). Overrides C<--input-tsv> option.
=item * B<input_filename> => I<filename> (default: "-")