my %sigils = bang => '!', at => '@', hash => '#', dollar => '$', percent => '%', caret => '^', and => '&', star => '*', zero => '0'; my regex line { ^^ :my $s; (\w+) \h+ $s (\N*) $s $$ } .say for "star *foo*\nat @bar\nat @baz@" ~~ m:g//;