As a status update: we're back at the original failures:

$ perl6 -e 'my $t = q[%foo% %bar% %foo% %baz%]; my %b = foo => 1, bar => 2, baz 
=> 3; $t.=subst("%{.key}%", .value, :g) for %b.pairs; say $t'
Method 'key' not found for invocant of class 'Any'
  in block <unit> at -e:1

$ perl6-m -e 'my %b = foo => 1, bar => 2, baz => 3; say "{.key}" for %b.pairs'
Method 'key' not found for invocant of class 'Any'
  in block <unit> at -e:1

$ perl6 -e 'say "{.key}" given a => 1'
Method 'key' not found for invocant of class 'Any'
  in block <unit> at -e:1

It works when for is followed by a block (instead of the statement_mod form)

$ perl6 -e 'my %b = foo => 1, bar => 2, baz => 3; for %b.pairs { say "{.key}" 
}'                
foo
bar
baz

Reply via email to