in reply to Trouble printing default variable in "foreach" loop.

If you cut out all the current diagnostic dumps and the CGI dependent stuff you get something like the following:

use warnings; use strict; my %cgiParam = ( hiddenCity=>'1', borg=>'2', foocity=>'3', hiddendistance=>'4', bork= +>'5', fooDistance=>'6', citydistance=>'7' ); my @cgiParamKeys = keys %cgiParam; # Store the %cgiParam keys into an +array my @cityKeys; my @distanceKeys; foreach( @cgiParamKeys ) { if( /city/ ) { #If a hidden city field found store it in an array; print "city: $_\n"; push @cityKeys, $_; #Store the field in an array @cityKeys = sort @cityKeys; #Sort the array } if( /distance/ ) { #If a hidden distance field found, store it in an + array print "distance: $_\n"; push @distanceKeys, $_; #Store it in the array @distanceKeys = sort @distanceKeys; #Sort the array } } my @hiddenKeys = qq(@cityKeys @distanceKeys); foreach( @hiddenKeys ) { if(/city/) { print "$_"; } if(/distance/) { print "$_"; } }

Which prints:

city: citydistance distance: citydistance distance: hiddendistance city: foocity citydistance foocity citydistance hiddendistancecitydistance foocity c +itydistance hiddendistance

Does that demonstrate the problem that you have? If it does, can you describe the problem in the context of this example. If it doesn't, can you provide a similar example that shows the problem?


Perl is Huffman encoded by design.