in reply to Testing if Perl Code is Valid - but don't execute!
causes Perl to check the syntax of the program and then exit without executing it
assuming you don't use modules with side-effects or have side-effects in BEGIN, UNITCHECK, or CHECK blocks. By shelling it out, you guarantee not to muck up local variables. Perhaps something like:
my $script = 'perlscript.pl'; if (`perl -c $script 2>&1` =~ /syntax OK/) { print "$script compiles\n"; } else { print "Parsing $script failed\n"; }
Of course, this certainly fails on sorts of pathological cases. It might work as a stop gap for you, however, until you can bring your colleague over to your point of view.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Testing if Perl Code is Valid - but don't execute!
by ikegami (Patriarch) on Aug 10, 2010 at 22:17 UTC |