http://www.perlmonks.org?node_id=77202


in reply to Stripper.pl

It looks like you're trying to parse Perl with Perl. This is generally a very scary idea. Please read merlyn's node on this topic for more information about why several of your regexes are broken. The most obvious error is attempting to treat every # as a comment. Things like s#foo;# bar#g will get royally messed up by your program. Ditto for anything with $#array.

Though it's less of an issue here, you're also using .*, which is also a bad idea. Read "Death to Dot Star!" for more information about this heinous construct. It causes your (.*)=(.*) code to be useless. It causes your /(.*;)\s*\# .*/ regex to do the Wrong Thing on 1; #Whee!; # . It causes your hair to fall out. It causes your computer's hard drive to go farming and your Perl install to revert to version 0.1. Well, maybe not all that. But it's still not a good idea. ;>

 
perl -e 'print "I love $^X$\"$]!$/"#$&V"+@( NO CARRIER'