in reply to what is the scope of my $x=$x

Hi perladdict,

Why don't you just try it and see?! ...

#!/usr/bin/perl -w + # Strict use strict; use warnings; + + my $x = 15; # This is the outer $x + { my $x = $x; # This is the inner $x print "Location 1, x = $x\n"; $x += 7; print "Location 2, x = $x\n"; } + print "Location 3, x = $x\n";
The results are:
Location 1, x = 15 Location 2, x = 22 Location 3, x = 15
Clearly, the line my $x = $x; is creating a lexical variable $x (the first one) which starts out with the value of the "outer" $x (the second one).  It's really just like saying my $b = $a, where $a is the "outer" value, and $b is the "inner" one.

Of course, whether or not it's a good programming practice to use the same name for multiple variables is an exercise left to the reader.  ;-)


s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/