Perl programozás - Szoftverfejlesztés fórum

üzenetek

hozzászólások


Mijo
(tag)

Szia!
Milyen struktúrában található az adatod?

Tömb esetén mondjuk legyen ilyen:

$data = [
[ 'A', '2012.08.24. 10:00' ],
[ 'B', '2012.08.24. 08:00' ],
[ 'C', '2012.08.24. 12:00' ],
];

Ezután szépen átalakítjuk:

my @sorted = sort { $a->[1] cmp $b->[1] } @$data;

Ez alap esetben szövegeket hasonlít össze, ha nem ilyen szép az időformátumod akkor érdemes egy függvényhívással ilyenre alakítani, ami a fenti linken a map { } @data rész lenne.

my @sorted = map { $_->[1] } # visszavesszük az eredeti rekordot
sort { $a->[0] cmp $b->[0] } # rendezünk timstamp szerint
map { [ make_timestamp( $_->[1] ), $_ ] } # elkészítjük a [ timestamp, [eredeti rekord] ] struktúrát
@$data; # bemenet

Remélem ennek segítségével sikerül megoldani, de kérdezz bátran, ha elakadasz!
Üdv: Mijo

üzenetek