perl5 to perl6

[email protected] (Nathan Torkington) Thu, 10 May 2001 18:30:47 -0600
Newsgroups perl.perl6.meta
Message-ID <[email protected]>
Here's a program I use to count messages in my mailfile:

  #!/usr/bin/perl -w

  while (<>) {
    if (($who) = /^From\s+\S+\s+\S+\s+(\S+\s+\S+)/) {
      @r = reverse split ' ', $who;
      $r[0] = sprintf("%02d", $r[0]);
      $count{"@r"}++;
    }
  }

  foreach (sort keys %count) {
    printf("%s: %3d\n", $_, $count{$_});
  }

Here's the corresponding perl6 program:

  #!/usr/bin/perl -w

  while (<$ARGS>) {
    if (($who) = /^From\s+\S+\s+\S+\s+(\S+\s+\S+)/) {
      @r = reverse split ' ', $who;
      @r[0] = sprintf("%02d", @r[0]);
      %count{"@r"}++;
    }
  }

  foreach (sort %count) {
    printf("%s: %3d\n", $_, %count{$_});
  }

Notice the variable changes: %count{...} because I'm talking about the
hash %count.  @r[0] because I'm talking about the array @r.  

Nat