As you'll see from the referred-to documents, strict and warnings are (IMHO, very essential, “don’t leave home without them”) directives that tell Perl to assume that you've made a mistake... and to very rigorously point out cases where you (probably) have done so.
“Taint mode” is a very clever feature that you just don't find in too many languages. Basically, it instructs Perl to pay attention to where a particular (input) value comes from. You're assuming that anything you get directly from the user “must be something that's been cleverly-engineered by this nefarious person expressly for the purpose of blowing-up my precious application by slipping through its defenses.” (Which is actually a pretty good assumption.) “Taint mode” causes Perl itself to help you detect any situation where a value that has been directly input from the user has not yet been “sanitized” by your code. It is quite thorough, even to the point of being annoyingly thorough. :-D
At this point, you definitely want to learn about use warnings and use strict (which do the same thing as the command-line switches you mentioned, only “all the time”). You can possibly put-off learning about taint mode for a little while, but you should put use strict; use warnings; at the top of every single thing that you write from this day forward.
|