The relative importance of strict is a tricky thing to assess. For example, every once in a while, I see people using a scalar reference ($$x). However, if $x is actually a string in that example, Perl will treat it as a symbolic reference. Results can be very unpredictable.
Of course, I'm taking a very unusual scenario there, so that's not fair :)
If the code was developed under strict, I would argue it should be left in. If performance is an issue, Devel::Dprof, Devel::SmallProf and Benchmark will likely do far more for improving performance than removing strict. However, there is no need to worry about performance unless it has demonstrably become a problem. Too much Bad Stuff has made its way into the programming world because of false optimizations made in the name of performance.
Some people routine write such weird stuff that repeatedly turning strict off and on would be a hindrance for them, so they leave it off. Mere mortals such as myself should not consider that route.
Of course, since I can't seem to shut up about testing, I'll add that if variables are properly declared and good scoping rules are enforced, I wouldn't mind strict being absent if a decent test suite was present. I've yet to see any OSS accounting package with such a suite.
Cheers,
Ovid
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.
|