#!/usr/bin/env perl6 use Test; my %sigils = bang => '!', at => '@', hash => '#', dollar => '$', percent => '%', caret => '^', and => '&', star => '*', zero => '0'; my regex line { ^^ :my $s; (\w+) \h+ $s (\N*) $s $$ } is ('bang !one!' ~~ m//)[1], 'one', 'is bang!one'; is ('zero 0one0' ~~ m//)[1], 'one', 'is zero0one'; isnt 'bang @one@' ~~ m// && $[1], 'one', 'isnt bang@one'; isnt 'BONK !one!' ~~ m// && $[1], 'one', 'isnt BONK!one'; nok 'bang @one@' ~~ m//, 'mismatch fails'; nok 'BONK !one!' ~~ m//, 'unknown fails';