unit class IRC::Grammar::Actions:ver<1.001001>; method TOP ($/) { $/.make: $>>.made } method message ($/) { my $pref = $/; my %args = command => ~$/; for qw/nick user host/ { $pref{$_}.defined or next; %args{$_} = $pref{$_}.Str; } %args = ~$pref if $pref.defined; my $p = $/; loop { if ( $p.defined ) { %args.append: ~$p; } if ( $p.defined ) { %args.append: ~$p; last; } $p = $p; } $/.make: %args; }