LINUX.ORG.RU

[Perl][Первые шаги]readdir & grep

 


0

0

Всем доброго времени суток!

Есть директория с примерно таким содержимым:

01Aug2011-27Aug2011
01Aug2011-30Aug2011
01Aug2011-31Aug2011
02Sep2011-02Sep2011
02Sep2011-04Sep2011
02Sep2011-07Sep2011
02Sep2011-08Sep2011

Создал вот такой код:

opendir my $dir_handle, ".";
@list = grep { /$month/ } readdir $dir_handle;
foreach my $dir_entry (@list)
{
    print "$dir_entry\n";
}
где $month содержит имя месяца, например «Sep». Получаю:
01Aug2011-18Aug2011
02Sep2011-08Sep2011
Если вместо $month помещаю Sep, все нормально. ЧЯДНТ?

★★
#!/usr/bin/env perl 
use strict;
use warnings;

my $month = "Sep";

opendir my $dh, ".";
my @list = grep { /$month/ } readdir $dh;
print "@list\n";

$ ls
01Aug2011-27Aug2011  02Sep2011-02Sep2011  02Sep2011-08Sep2011
01Aug2011-30Aug2011  02Sep2011-04Sep2011  test.pl
01Aug2011-31Aug2011  02Sep2011-07Sep2011

$ perl test.pl 
02Sep2011-07Sep2011 02Sep2011-02Sep2011 02Sep2011-04Sep2011 02Sep2011-08Sep2011

УМВР

DELIRIUM ☆☆☆☆☆
()

> где $month содержит имя месяца, например «Sep».

С чего ты решил, что у тебя $month содержит «Sep»?

Neksys ★★★
()

> где $month содержит имя месяца, например «Sep»

<telepathy_mode>

$ perldoc -f chomp

</telepathy_mode>

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

Ага, спасибо, нашел свой косяк. Решено, всем спасибо.

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