develooper Front page | perl.perl5.porters | Postings from September 2000

Trapping by opmask sets strange parser state

Thread Next
From:
Gisle Aas
Date:
September 14, 2000 07:47
Subject:
Trapping by opmask sets strange parser state
Message ID:
20000914144644.10247.qmail@eik.g.aas.no
Consider this example:

--------------------------------------------------
use Safe;

sub compile {
    my $code = "sub do { " . shift() . "}";
    eval $code;
    die if $@;
}

$x = Safe->new;
$x->share("compile");
$x->deny("bless");

$x->reval(qq(compile('bless {}')));
warn $@ if $@;

eval "sub foo {}";
warn $@ if $@;
--------------------------------------------------

When I run it I get:

   bless trapped by operation mask at (eval 3) line 1.
        ...propagated at stupid.pl line 6.
   syntax error at (eval 4) line 1, near "sub foo "

After the 'trapping by opmask' it seems like the perl compiler is in a
strange state where it can't compile normal code any more.  Does
anybody have a clue about what might cause this?

Regards,
Gisle

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About