Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^3: how to check syntax of code inside a scalar?

by Crackers2 (Vicar)
on Aug 04, 2010 at 21:04 UTC ( #852971=note: print w/ replies, xml ) Need Help??


in reply to Re^2: how to check syntax of code inside a scalar?
in thread how to check syntax of code inside a scalar?

Bad idea... try it with this:

syntax_ok(qq{BEGIN { print "yay\n"; }});

and you'll see that the BEGIN block still gets run, bypassing your return statement. So I'd consider it rather unsafe.


Comment on Re^3: how to check syntax of code inside a scalar?
Select or Download Code
Re^4: how to check syntax of code inside a scalar?
by snoopy (Deacon) on Aug 04, 2010 at 21:55 UTC
    This does however seem to match the perl -c syntax check. From perlrun:
           -c   causes Perl to check the syntax of the program and then exit
                without executing it.  Actually, it will execute "BEGIN",
                "UNITCHECK", "CHECK", and "use" blocks, because these are
                considered as occurring outside the execution of your program.
                "INIT" and "END" blocks, however, will be skipped.
    
    perl -c -e 'BEGIN { print "yay\n"; }; print "boo\n"'
    yay -e syntax OK
      What if you always inject a
      BEGIN {exit}
      will it still do the compile step?
      the hardest line to type correctly is: stty erase ^H
        I't wouldn't do the compile step, but because this happens early, it would pretty well bypass any syntax checking whatsoever:
        perl -c -e 'BEGIN{exit}; BEGIN{print "yay\n"};@&$^^#@!.' -e syntax OK

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (4)
As of 2014-09-24 01:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (243 votes), past polls