There is no difference in using dynamic vs. lexical
variables as parameters to a function. Assuming perl5.6
(or greater):
use strict;
sub foo {
my $foo = shift;
print $foo;
}
my $my_var = "lexical bar";
our $our_var = "dynamic bar";
foo($my_var);
foo($our_var);
However, using dynamic variables may cause strange results
if not used with care. So using lexical variables is not a
bad idea at all.
Using references to lexical and dynamic variables is just the
same, except that you have to reference and dereference
the variables.
But please note that if you're not careful enough using
dynamic variables (those not declared with my),
strange results can appear, so if you can, use lexical
variables - that's probabely what you want anyway.
Autark. |