Portál AbcLinuxu, 13. července 2025 22:34
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.