Почему эта сортировка perl не работает должным образом? - PullRequest
0 голосов
/ 10 декабря 2018

Сначала я вычисляю количество ключей в массиве.Когда количество элементов "vectranet" превышает 9, сортировка не работает должным образом - "vectranet" не является первым в отсортированном списке (я сортирую по значению хеша), вот мой код, пожалуйста, помогите мне сойти с ума :-)Эта форма говорит мне, что мой пост в основном состоит из кода и что я должен предоставить больше деталей, но я не могу больше писать текст, я все объяснил, и мне нужно прикрепить этот огромный массив, чтобы вы увидели, в чем заключается моя проблема: (

@cprov=(
'vectranet.pl',
'airmax.pl',
'mm.pl',
'aduro.pl',
'lss.net.pl',
'multiplay.pl',
'vectranet.pl',
'vectranet.pl',
'vectranet.pl',
'vectranet.pl',
'vectranet.pl',
'inetia.pl',
'orange.pl',
'orange.pl',
'proneteus.pl',
'zicom.pl',
'zicom.pl',
'ac1-nat13.pl',
'sownet.pl',
't-mobile.pl',
't-mobile.pl',
't-mobile.pl',
'multiplay.pl',
'multiplay.pl',
'cyfrowypolsat.pl',
'plus.pl',
'vectranet.pl',
'vectranet.pl',
'centertel.pl',
'centertel.pl',
'centertel.pl',
'play-internet.pl',
'centertel.pl',
'plus.pl',
'cyfrowypolsat.pl',
'play-internet.pl',
'centertel.pl',
'satfilm.com.pl',
'odramedia.pl',
'netia.com.pl',
'espol.com.pl',
'netia.com.pl',
'tpnet.pl',
'tpnet.pl',
'tpnet.pl',
'tpnet.pl',
'vectranet.pl',
'vectranet.pl',
'tktelekom.pl',
'tktelekom.pl',
'sitel.net.pl',
'inter-sat.pl',
'mm.pl',
'mm.pl',
'chello.pl',
'chello.pl',
'chello.pl',
'chello.pl',
'chello.pl',
'net-system.pl',
'vectranet.pl',
'krosoft.pl',
'artcom.pl',
'play-internet.pl',
'protonet.pl',
'plus.pl',
'tpnet.pl'
);

my %pcounts;
$pcounts{$_}++ for @cprov;

for my $key ( sort { $pcounts{$b} cmp $pcounts{$a} } keys %pcounts ) {
    print "$key - $pcounts{$key}\n";
}

1 Ответ

0 голосов
/ 10 декабря 2018

При лексическом сравнении 10 предшествует 2, как ba предшествует c.Вы хотите сравнить численно, поэтому используйте <=> вместо cmp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...