moh*_*abu 2 arrays sorting perl
我试图在perl中对数组数据结构中存在的键值对进行排序.但是,当有多个条目时,我无法解析如何排序.
以下是我的代码:
my @users = (
{id => 1, name => "Frank"},
{id => 10, name => "Joe"},
{id => 5, name => "Paul"}
);
Run Code Online (Sandbox Code Playgroud)
我希望输出按ID递增排序:
{id => 1, name => "Frank"},
{id => 5, name => "Paul"},
{id => 10, name => "Joe"}
Run Code Online (Sandbox Code Playgroud)
以下是我的努力:
use strict;
use warnings;
use 5.010;
my @users =
(
{id => 1, name => "Frank"},
{id => 10, name => "Joe"},
{id => 5, name => "Paul"}
);
foreach my $name (keys %users) {
printf "%-8s %s\n",$users{id},$users{name};
}
Run Code Online (Sandbox Code Playgroud)
任何建议都会非常有帮助.
您的数据规格存在冲突,但这样做是否符合您的要求?
use strict;
use warnings;
use 5.010;
my @users = (
{ id => 1, name => "Frank" },
{ id => 10, name => "Joe" },
{ id => 5, name => "Paul" },
);
for my $item ( sort { $a->{id} <=> $b->{id} } @users ) {
printf "%-8s %s\n", $item->{id}, $item->{name};
}
Run Code Online (Sandbox Code Playgroud)
1 Frank
5 Paul
10 Joe
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |