How (or can) I use an interpolated scalar as an lvalue?
Example: I want to assign a value to a bunch of scalar variables $<prefix>_type:
my ($abc_type, $def_type, $xyz_type);
...
...
foreach (qw(abc def xyz)) #List of prefixes
{
$varname= $_."_type"; #Actual scalar variable name is $prefix_type
${$varname}= <something>; # <-- Problem
}
Perl complains about the second line in the foreach loop during run time:
Can't use string ("abc_type") as a SCALAR ref while "strict refs" in use at
test1.pl line 19.
I wanted to understand whether this is possible somehow, i.e., can we use a
generated string to point to a scalar variable?
(I know I can use a hash instead with the prefixes as keys, but I'm modifying
some hand-me down code for a small change & would like to avoid invasive
changes.)
Thanks,
-Nilanjan
_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm