Portál AbcLinuxu, 8. listopadu 2025 22:40
Zdravim.
Mam nasledujici hash, ktery bych chtel seradit sestupne podle velikosti vzdalenosti. Nevedel by nekdo jak na to??? Diky za kazdou radu
#!/usr/bin/perl
%vzdalenosti = (
"Amsterodam" => 970,
"Moskva" => 1900,
"Koda" => 750,
"Rim" => 1300,
"Varsava" => 630,
);
while (($mesto, $vzdalenost) = each(%vzdalenosti)){
print "$mesto - $vzdalenost\n";
}
#!/usr/bin/perl -w
sub hashComp {
$vzdalenosti{$a} <=> $vzdalenosti{$b};
}
%vzdalenosti = (
"Amsterodam" => 970,
"Moskva" => 1900,
"Koda" => 750,
"Rim" => 1300,
"Varsava" => 630,
);
foreach $key (sort hashComp (keys(%vzdalenosti))) {
print "$key - $vzdalenosti{$key}\n";
}
use warnings;
use strict;
use 5.010;
my %vzdalenosti = (
'Amsterodam' => 970,
'Moskva' => 1900,
'Koda' => 750,
'Rim' => 1300,
'Varsava' => 630,
);
my @serazena_mesta =
sort { $vzdalenosti{$b} <=> $vzdalenosti{$a} } keys %vzdalenosti;
foreach my $mesto (@serazena_mesta) {
say "$mesto - $vzdalenosti{$mesto}";
}
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.