LINUX.ORG.RU

perl - помогите отсортировать


0

0

Вот структура:

$Result[0]->{aa} = "aa";
$Result[0]->{bb} = 3;
$Result[1]->{aa} = "bb";
$Result[1]->{bb} = 1;
$Result[2]->{aa} = "cc";
$Result[2]->{bb} = 2;

Как произвести сортировку что бы на выходе было:

$Result[0]->{aa} = "aa";
$Result[0]->{bb} = 3;
$Result[1]->{aa} = "cc";
$Result[1]->{bb} = 2;
$Result[2]->{aa} = "bb";
$Result[2]->{bb} = 1;

★★★
Ответ на: комментарий от anonymous

Уверен?

#!/usr/bin/perl -w

$Result[0]->{aa} = "aa";
$Result[0]->{bb} = 3;
$Result[1]->{aa} = "bb";
$Result[1]->{bb} = 1;
$Result[2]->{aa} = "cc";
$Result[2]->{bb} = 2;

@Result = sort{ $b->{bb} <=> $a->{bb} } @Result;

foreach $i (@Result)
{
 print "$Result[$i]->{bb}\n";
}

Не выдает ничего путного :(

Mrak ★★★
() автор топика
Ответ на: комментарий от Mrak

А что же ты, придурок, ожидаешь от такого кода:

> foreach $i (@Result)
> {
> print "$Result[$i]->{bb}\n";
> }

Perl же человеческим языком пишет:
Use of reference "HASH(0x8124448)" as array index at ppp line 18.

Или ты дебил?

Попробуй вот так:

foreach my $i (@Result)
{
print "$i->{bb} $i->{aa}\n";
}

И ради бога мальчик - use strict;

anonymous
()
Ответ на: комментарий от anonymous

Спасибо что показал ошибку.

ЗЫ: Мы ще посмотрим кто в результате окажеться придурком, дибилом и мальчиком ;)

Mrak ★★★
() автор топика

perldoc -f sort

PS. Ох не любит Перл людей, задающих _такие_ вопросы...

Zulu ★★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.