1 |
Note differences between my() and local();
|
2 |
my($x); # declares $x to be private to this subroutine
|
3 |
local($x); # delares $x to be known to this subroutine and all those routines that it invokes
|
4 |
Typeglob or symbolic reference can be used to pass aruments by reference and not by value
|
5 |
This has usual advantage that subroutine alters "global" and not a "local" copy -- especially relevant for complex datastructures where you do not want expense of copying
-
Scalars are always passed by reference and not by value and by explicitly changing $_[0..], you can affect global scalars
|