App-CSV
view release on metacpan or search on metacpan
lib/App/CSV.pm view on Meta::CPAN
return $self->_input_csv->getline($self->_input_fh);
}
}
}
sub run {
my($self) = @_;
$self->init;
# L<perlsyn/"modifiers don't take loop labels">
INPUT: { do {
my $data;
while (defined($data = $self->_get_line)) {
if ($self->columns) {
@$data = @$data[@{ $self->columns }];
}
if (!$self->_output_csv->print($self->_output_fh, $data)) {
warn $self->format_error("Warning - Output error", diag => [$self->_input_csv->error_diag]), "\n";
next INPUT;
}
$self->_output_fh->print("\n");
}
# Keeps us going on input errors.
# TODO: strict errors, according to command line, blah
if (not defined $data) {
last INPUT if $self->_input_csv->eof;
warn $self->format_error("Warning - Input error", line => $., diag => [$self->_input_csv->error_diag]), "\n";
}
} }
}
sub format_error {
my $self = shift;
my $msg = shift;
my %args = @_;
( run in 0.317 second using v1.01-cache-2.11-cpan-4e96b696675 )