[ Please do not top-post. TIA ]
Christiane Nerz wrote: > > Nope - 'cause if I print out the values key for key, I get all four: > > my $array = keys %hash; $array is a scalar and holds a single value. It is not related to @array in any way. > print $hash{$array[0]}; > print"\n"; > print $hash{$array[1]}; > print"\n"; > print $hash{$array[2]}; > print"\n"; > print $hash{$array[3]}; If you have 'strict' and 'warnings' turned on then perl would tell you that @array doesn't exist for those four lines. > With the code > foreach (keys %hash) { > print $hash{$_}; > print "\n";} > > I only get the value corresponding to $hash{$array[3]}. It sounds like you are assigning a list to a scalar. $scalar = ( 'one', 'two', 'three', 'four' ); In this case the comma operator will evaluate the first three items and discard them and assign the fourth item to the scalar. John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]