cgi_pro has asked for the wisdom of the Perl Monks concerning the following question:
Hello
I have a subroutine that returns a string and an associated array. When I call it, I do it as in the following:
my ($String1 %AssocArray1) = MySubRoutine(SOME_ARGUMENTS1);then I print the %AssocArray1 to the screen as follows:
foreach $test(keys %AssocArray1){ print "$test\n"; }
everything looks fine now, then when I call my subroutine again as follows:
my ($String2, %AssocArray2) = MySubRoutine(SOME_ARGUMENTS2);and I print it to the screen as follows:
foreach $test(keys %AssocArray2){ print "$test\n"; }
it prints to me both %AssocArray1 (that I already printed before) then %AssocArray2
I tried to delete all elements of %AssocArray1 before I even call my subroutine for the second time for %AssocArray2, and then printed %AssocArray2 to the screen, but once again the same thing happened, it keeps printing %AssocArray1 and %AssocArray2 when I only want to print %AssocArray2
Anyone knows what's wrong with my coding here?
Notes:
I just checked my subroutine and CountOrlok you were right, I don't know how I missed defining the associated array for local use only. Thanks a lot to you and for the rest of the guys who were trying to help as well :) My program is now working perfectly as expected :)
Edited by planetscape - added code tags and fixed formatting
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Associated Array Appending Unwillingly
by CountOrlok (Friar) on Nov 16, 2005 at 05:55 UTC | |
|
Re: Associated Array Appending Unwillingly
by Roger (Parson) on Nov 16, 2005 at 05:43 UTC | |
|
Re: Associated Array Appending Unwillingly
by jbrugger (Parson) on Nov 16, 2005 at 05:43 UTC | |
|
Re: Associated Array Appending Unwillingly
by demerphq (Chancellor) on Nov 16, 2005 at 10:11 UTC | |
|
Re: Associated Array Appending Unwillingly
by blazar (Canon) on Nov 16, 2005 at 10:16 UTC |