RichardJActon has asked for the wisdom of the Perl Monks concerning the following question:
I was trying to write a one liner in perl6 to do something very like grep -f patternFile.txt searchFile.txt but applied to a single column within the search file.
perl6 -ne 'BEGIN {my @ids="patternFile.txt".IO.lines}{my @F=lines.split("\t"); if @F[0] (elem) @ids.Set {@F.join("\t").say}}' searchFile.txt
I noticed that the automatic splitting flag -a is not longer available so generated @F the longhand way.but it seems i can't get to @ids from within second set of curly braces - i've not quite wrapped my head around some of the new scope rules in perl6 so tried fiddling with a few things in that area but didn't make any progress.
I've also not seen any example perl6 1 liners which use the BEGIN{}{}END{} structures so though that might have someting to do with it.
Any suggestions?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: perl6 phasers and a 1 liner
by Laurent_R (Canon) on Feb 13, 2018 at 21:49 UTC | |
|
Re: perl6 phasers and a 1 liner
by Anonymous Monk on Feb 13, 2018 at 19:57 UTC | |
by Laurent_R (Canon) on Feb 13, 2018 at 22:39 UTC | |
by Anonymous Monk on Feb 14, 2018 at 02:01 UTC | |
|
Re: perl6 phasers and a 1 liner
by RichardJActon (Novice) on Feb 14, 2018 at 14:36 UTC | |
by Laurent_R (Canon) on Feb 15, 2018 at 19:07 UTC |