Forum Webscript.Ru

Программирование => Perl => Тема начата: от 04 Июня 2002, 15:44:09

Название: сортировка в файле
Отправлено: от 04 Июня 2002, 15:44:09
||продажа||бегемот||10.04.2002 в 10:48||
||продажа||бегемот||11.05.2002 в 12:42||
||продажа||бегемот||12.05.2002 в 18:18||
||продажа||бегемот||23.04.2002 в 17:11||
Необходимо открыть файл,рассортировать по дате (более поздняя дата внизу)
Название: сортировка в файле
Отправлено: от 04 Июня 2002, 16:17:31
#!/usr/bin/perl -w

use strict;

open F, \'test\';
my @arr = ;
close F;

@arr = sort new_sort @arr;

open F, \'>test\';
print F @arr;
close F;

sub new_sort {
   $a =~ /\\|\\|(\\d\\d)\\.(\\d\\d)\\.(\\d{4}).*?(\\d\\d):(\\d\\d)\\|\\|/;
   my $date1 = $3 . $2 . $1 . $4 . $5;
   $b =~ /\\|\\|(\\d\\d)\\.(\\d\\d)\\.(\\d{4}).*?(\\d\\d):(\\d\\d)\\|\\|/;
   my $date2 = $3 . $2 . $1 . $4 . $5;
   return $date1 <=> $date2
}