develooper Front page | perl.perl6.users | Postings from May 2020

Re: Raku -npe command line usage

Thread Previous | Thread Next
Sean McAfee
May 8, 2020 17:04
Re: Raku -npe command line usage
Message ID:
On Fri, May 8, 2020 at 6:53 AM Brad Gilbert <> wrote:

> So together that would be:
>     raku -ne 'BEGIN my @i; @i.push($_) if /^WARN/; END .say for @i.sort'

Or alternately the main body of the loop can be written:

    (my @i).push($_) if /^WARN/;

Or even:

    push my @i: $_ if /^WARN/;

It's so nice how Raku essentially compiles the body of these file loops
into a little subroutine so that the "my" declaration only occurs once,
unlike how Perl 5 just textually wraps the loop with "while (<>) {" and "}"
which makes the declaration occur on every iteration.

I originally figured this out when I idly worked up a classic
word-frequency-count one-liner:

    raku -ne '++(my %freq){$_} for m:g/\w+/; END .say for
%freq.antipairs.sort.reverse' file ...

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About