Я тут подумал - $:=''; убивает дальнейшие триги, которые могут хотеть сработать на эту строчку.
Короче, вот что работает (проверил) :
Код:
my $str="";
P::trig {
return if not $str;
P::echo $str;
$str = '';
} '^.*$', 'f1000';
P::trig {
$str = "YO! Работает!!!";
} '^Вы улыбнулись\.', 'f1000';