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
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: Suggestions to make this code more Perlish
by kcott (Archbishop) on Mar 30, 2014 at 15:08 UTC | |
by TheDamian (Vicar) on Mar 30, 2014 at 19:43 UTC | |
by kcott (Archbishop) on Mar 31, 2014 at 06:55 UTC | |
by TheDamian (Vicar) on Mar 31, 2014 at 07:40 UTC | |
by kcott (Archbishop) on Mar 31, 2014 at 07:56 UTC |
In Section
Seekers of Perl Wisdom