my $mw3= $mw->Button(-text=>"Check brackets", -command => sub{ my $grammar = q { startrule: open text close open: "<" text: /(.\s)*/ close: ">" }; my $parser = Parse::RecDescent->new($grammar); print defined($parser->startrule($mw2->get ("1.0", "500.0"))) ? "NO ERROR\n" : "ERROR"; })->pack(-side=>'left');