Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: How's your Perl? (II)

by ambrus (Abbot)
on Jul 22, 2004 at 13:55 UTC ( [id://376571]=note: print w/replies, xml ) Need Help??


in reply to How's your Perl? (II)

Spoilers:

Update: and here's an answer for 8, although you might take it as cheating as it requires an adittional option on the command line to be set.

perl -wde 'sub DB::DB { ++$foo==2 and die "break out the eval"; }; !ev +al { [ @foo ] } and print "Ok!\n"; '

Note that I'm not just executing the print Ok statement with some trick. The expression !eval { [ @foo ] } actually gets evaluated, but somehow an exception gets generated inside the eval, thus eval returns false.

Update: you can give the switch in the shebang line too. If you write this to a file and execute it with perl, it works.

Replies are listed 'Best First'.
Re^2: How's your Perl? (II)
by wog (Curate) on Jul 22, 2004 at 19:37 UTC
    You don't need any switches!

    BEGIN{$^P=0x22;sub DB::DB{++$foo==2 and die}}

    (I am pretty sure that is not the official solution, by the way, and it means that 8 does not need to exploit actual bugs.)

    updated: Oops, copied a wrong version initially. One character difference.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://376571]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (2)
As of 2024-04-19 21:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found