#!/usr/bin/perl use MooseX::Declare; my $gr = do { use Regexp::Grammars; qr { foo }x; }; class Foo { method BUILD { use Data::Dumper; print 'AH ', Dumper \@_; } } my $m = 'foo' =~ $gr or die 'no match'; #### AH $VAR1 = [ bless( {}, 'Foo' ), { '@' => {}, '!' => '-1' } ]; Segmentation fault #### Foo->new( { '@' => {}, '!' => '-1' } );