C:\>perl -v This is perl, v5.8.4 built for MSWin32-x86-multi-thread #### $ perl -v This is perl, v5.6.1 built for i386-linux #### # sort criteria eval-ed: wacky results my $sortCriteria = sub { $hr->{$b}->{"number"} <=> $hr->{$a}->{"number"};}; # WHAT AM I DOING WRONG ON THE NEXT LINE? @sortedKeys = sort { &{$sortCriteria} } keys %$hr; print "\n\nsort criteria eval-ed\n"; foreach my $sortedKey(@sortedKeys){ print $hr->{$sortedKey}->{"number"} . " " . $hr->{$sortedKey}->{'name'} . "\n"; } #### # sort criteria eval-ed: wacky results my $sortCriteria = '$hr->{$b}->{"number"} <=> $hr->{$a}->{"number"};'; # WHAT AM I DOING WRONG ON THE NEXT LINE? @sortedKeys = sort { &x($sortCriteria) } keys %$hr; print "\n\nsort criteria eval-ed\n"; foreach my $sortedKey(@sortedKeys){ print $hr->{$sortedKey}->{"number"} . " " . $hr->{$sortedKey}->{'name'} . "\n"; } sub x { eval shift; }