cgi_js
11-15-2005, 11:42 PM
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?
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?