[Moscow.pm] генирирование регулярного выражения, дата старше заданной
Nikolay Mishin
mi на ya.ru
Пт Окт 14 09:02:33 PDT 2011
В итоге(рабочий вариант) получилось так
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use Carp;
use lib qw(/home/mishin/perl/utils/TimeDate-1.20/lib);
use Date::Parse;
use English qw(-no_match_vars);
our $VERSION = '0.01';
my $start_date = str2time('02-Apr-2011');
my $end_date = str2time('10-May-2011');
#my $input_time = str2time($input_date);
my $RGX_DATE_FULL = qr{.*(\d{2}-\w{3}-\d{4}).*}smo;
my @input_data = <DATA>;
my @res =
grep { extract_time($_) >= $start_date and extract_time($_) <= $end_date }
@input_data;
print @res;
sub extract_time {
my ($search_str) = @_;
$search_str =~ s/$RGX_DATE_FULL/$1/sm;
return str2time($search_str);
}
__DATA__
N1089767N_7_SWOPT_03-Jul-2011_78919186.xml
N1089767N_7_SWOPT_25-Jun-2011_72745892.xml
N1089772L_9_SWOPT_03-Jul-2011_78979055.xml
N1089772L_9_SWOPT_01-Apr-2011_78979055.xml
N1089772L_9_SWOPT_02-Apr-2011_78979055.xml
N1089772L_9_SWOPT_22-Apr-2011_78979055.xml
N1089772L_9_SWOPT_30-Apr-2011_78979055.xml
N1089772L_9_SWOPT_20-Jul-2011_69380887.xml
N1089772L_9_SWOPT_29-Jun-2011_74754662.xml
message.110530033311A4259348AS26.A4259348AS_26_SWOPT_01-Jul-2011.xml
message.110530033311A4259348AS26.A4259348AS_26_SWOPT_31-May-2011.xml
A4259348AS_26_SWOPT_29-Jun-2011_74754662.xml
N1089772L_9_SWOPT_03-Feb-2011_78979055.xml
N1089772L_9_SWOPT_01-Mar-2011_78979055.xml
N1089772L_9_SWOPT_02-Jan-2011_78979055.xml
N1089772L_9_SWOPT_22-Feb-2011_78979055.xml
12.10.2011, 16:23, "Nikolay Mishin" <mi на ya.ru>:
> Да, так лучше
>
> https://gist.github.com/1281076
>
> , осталось только понять смогу ли я без root'овых прав использовать этот модуль на SunOS 5.10
>
> 12.10.2011, 15:52, "Jack of Shadows" <somerandomlogin на gmail.com>:
>
>> Хм-м, а как насчёт взять Date::Parse, сконвертить дату в таймстамп?
>>
>> 2011/10/12 Nikolay Mishin <mi на ya.ru>:
>>> Hi Moscow-pm,
>>>
>>> Я тут сделал генерилку регулярного выражения, например, мне нужно было выводить все файлы старше(включая) 02-Apr-2011
>>>
>>> https://gist.github.com/1280987
>>>
>>> что скажете?
>>>
>>> p.s. по дате файла искать не получиться, т.к. файлы могли сформироваться позднее, имя- это просто метка данных, которые в них лежат
>>> pp.s. ideone не удалось заюзать https://ideone.com/9S0DX т.к. у них нет модулей Regexp::Assemble,Smart::Comments и т.д.
>>> --
>>> Nikolay Mishin
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Nikolay Mishin
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
--
Nikolay Mishin
Подробная информация о списке рассылки Moscow-pm