http://qs321.pair.com?node_id=1080278


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:
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;
That's not the shortest way to do it in Perl 6, but it's closest to the Perl 5 example above.

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