my @fruits = (
  { name => 'Apfel',    preis => 3.29},
  { name => 'Birne',    preis => 1.69},
  { name => 'Pfirsich', preis => 3.49},
  { name => 'Kiwi',     preis => 1.39},
  { name => 'Papaya',   preis => 2.99},
  );

foreach my $fruit (sort byname @fruits) 
  {
  print $fruit->{name} . " @ " . $fruit->{preis} . "\n";
  }
print "\n";
foreach my $fruit (sort byprice @fruits) 
  {
  print $fruit->{name} . " @ " . $fruit->{preis} . "\n";
  }

sub byname
  {
  {$a->{name} cmp $b->{name}};
  }

sub byprice
  {
  {$a->{preis} <=> $b->{preis}};
  }