That's very similar to a situation I was thinking about,
except that I would have stated it more generally: I
would consider (locally) using symbolic references in
a scenerio when they would be convenient and the risk
would be checked by having the complete list of possible
values of the reference ennumerated en toto in the code.
Additionally, I never bother with strict for very short
use-once scripts (e.g., anything I type at the command
line after perl -e).
Truthfully, I don't always use strict in other cases
either, but I'm starting to do so more often that I
used to do. I'm up to the point of using at the top
of all files that get included by another file now,
which is progress... and for the record I have yet
to see strict catch a mistake that warnings missed,
except in a conversation on Perlmonks where a monk
contrived an example for me to demonstrate how it
could happen. However, the example (though contrived)
was sound and I've taken it to heart somewhat.
And that's why I don't think question 2 as it stands
will get the information the test writer actually wants.
I would have no trouble explaining the value of strict
at this point, but I don't yet have a firm habbit of
always using it, which is what the test really wants
to know. (The best way to find out? Have 'em write a
section of code to do some simple task and see if they
declare all of their variables.)
Actually, my biggest problem with strict is that it
doesn't test what I want it to test: whether a
subroutine tromps on a (possibly lexical) variable
from outside the subroutine. This is for me a *way*
more likely scenerio than the ones strict does check.
{my$c;$ x=sub{++$c}}map{$ \.=$_->()}map{my$a=$_->[1];
sub{$a++ }}sort{_($a->[0 ])<=>_( $b->[0])}map{my@x=(&
$x( ),$ _) ;\ @x} split //, "rPcr t lhuJnhea eretk.as
o";print;sub _{ord(shift)*($=-++$^H)%(42-ord("\r"))};
|