Adding our @myArray allows the snippet to be used with use strict 'vars';.
Yeah, I figured that I needed the our @myArray when I added the use strict; to the program.
However, I tried the program with and without the local and it seems to work either way. Does the our @myArray remove the need for local? I've got the entire program below.
use strict;
use warnings;
my %myHash;
$myHash{"uno"} = "one";
$myHash{"dos"} = "two";
$myHash{"tres"}->[0] = "three-point-oh";
$myHash{"tres"}->[1] = "three-point-one";
$myHash{"tres"}->[2] = "three-point-two";
$myHash{"quatro"} = "four";
our @myArray;
*myArray = $myHash{"tres"};
$myArray[3] = "three-point-three";
$myArray[4] = "three-point-four";
$myArray[5] = "three-point-five";
foreach my $key (keys(%myHash)) {
if (ref($myHash{$key}) eq "ARRAY") {
for (my $item = 0; $item <= $#{$myHash{$key}}; $item++) {
print qq($key->).qq([$item] = "$myHash{$key}->[$item]"\n);
}
} else {
print qq($key = "$myHash{$key}"\n);
}
}
|