in reply to Re: Suggestions to make this code more Perlish
in thread Suggestions to make this code more Perlish
Just for interest, here's the same approach in Perl 6:
That's not the shortest way to do it in Perl 6, but it's closest to the Perl 5 example above.use v6; my regex fields { \" <( .*? )> \" | <-[,"]>* } my $input = open 'input.csv', :r; my $output = open 'output.tff', :w; for $input.lines { next unless /<fields>* % ','/; $output.print: @<fields>.join(chr 31) ~ chr 30; } $output.close;
A shorter and more Perl6-ish version might be:
my regex fields { \" <( .*? )> \" | <-[,"]>* } lines open 'input.csv' ==> map({@<fields>.join(chr 31) ~ chr 30 if /<fields>* % ','/}) ==> spurt('output.tff');
Damian
In Section
Seekers of Perl Wisdom