我在perl中有一个数组,其中包含大约200个用于csv文件的索引.它喜欢以下几行:
46.9234784633993,Springwood Drive,Naples,FL
89.7786182217159,W 8th St,Lakeland,FL
Run Code Online (Sandbox Code Playgroud)
我想在第一个逗号之前按那个数字对它们进行排序.我尝试使用只是排序,但有时数字会变成数百和数千,它只是对1中的所有数字进行排序.然后数字排序不喜欢它,因为它们不是数字条目
我试过这个
my @sortedDistances = sort{ $a <=> $b }(@completedDistances);
and
my @sortedDistances = sort(@completedDistances);
Run Code Online (Sandbox Code Playgroud)
这是一个可能的解决方案,尝试它是否有效:
open FILE, "<", $ARGV[0] or die $!;
my @sorted =
map { join ",", @{$_} }
sort { $a->[0] <=> $b->[0] }
map { [ split /,/ ] } <FILE>;
close FILE;
say join "\n", @sorted;
Run Code Online (Sandbox Code Playgroud)
编辑:将冒号改为逗号