But I am dealing with piped traffic so STDIN will be the input and lines should be written one by one
STDIN and STDOUT are filehandles, like $ifh and $ofh in my code. Here, I'm using select to get STDOUT and ARGV to get Perl's magic command-line argument filehandle, which reads from STDIN when no files are specified on the command line. I've assumed you don't want some of the binary data from here, but note that this still doesn't strip all of it out.
use warnings; use strict; use Text::CSV; # also install Text::CSV_XS for speed my $csv = Text::CSV->new({ binary=>1, auto_diag=>2, escape_char=>'\\', eol=>$/, quote_char=>'"', sep_char=>";", always_quote=>1 }); while ( my $row = $csv->getline(*ARGV) ) { $row->[5] = pack '(H2)*', split /:/, $row->[5]; $row->[5] =~ s/\A\x19\x68\x09\x24\x00+|\x00+\z//g; $csv->print(select, $row); } $csv->eof or $csv->error_diag;
In reply to Re^3: Replace a Hex Value in Column
by haukex
in thread Replace a Hex Value in Column
by ktham33n
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |