Как я могу определить, что символическая ссылка не работает в Perl?

Я хотел бы удалить неработающую символическую ссылку в каталоге с помощью Perl.

На мой взгляд, мне просто нужно было перечислить файл каталога и проверить, является ли это символической ссылкой (-l), и если она возвращает false, просто отсоедините его.

Но похоже, что при использовании readir для вывода списка всех файлов мои сломанные символические ссылки не распознаются как файл. Поскольку моя ссылка ни на что не указывает, я понимаю почему.

Затем : Как я могу определить, не работает ли символическая ссылка в Perl?

Спасибо,

ОБНОВЛЕНИЕ

Все файлы в $ myDir являются символическими ссылками, действительными или неработающими. Когда я показываю @files, я получаю только список действительных символических ссылок.

opendir DIR, $myDir;
my @files = grep(/$regexp/,readdir(DIR));
closedir DIR;
print "filenames : @files\n";
8
задан Spredzy 5 July 2011 в 10:00
поделиться