in reply to iterating 2 arrays
I agree with GrandFather that changing $ref (a reference to an anonymous hash) to %hash (an ordinary hash) is the better approach here. But, for completeness, I will point out that the original design can be made to work by changing the line print "@{$ref{$k}} \n; to print "@{$ref->{$k}} \n"; — that is, by adding in the dereferencing operator ->. See perlreftut.
However, my major concern is with the regular expressions. As written, the first expression $k =~ /US/ will match the character sequence “US” anywhere in the string. It is always a good idea to prevent unwanted matches by limiting, as much as possible, the conditions under which the regex can match. For example:
if (($k =~ /^US/) && ($k =~ m{/$loc})) {
might be a useful step in this direction. It matches “US” only at the beginning of the string, and “Lynnwood”, “Edmonds”, etc. only when they follow a forward slash.
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
|---|