Почти повсеместно, когда люди публикуют вопросы на SO (или где-либо еще) о Perl и чтении из файлов, если есть какой-либо код, включающий открытый стиль
open FH, ">file.txt" or die "Can't open for write, $!"; # OLD way, do not use!
кричит за то, что он не использует лексический дескриптор файла. Как мы все знаем,
open my $fh, ">", "file.txt" or die "Can't open for write, $!"; # new hotness
- это правильный способ открыть дескриптор файла в современном Perl. Как насчет каталогов? В нескольких недавних SO-вопросах люди задавали вопросы, которые включают opendir
, и размещали код, такой как
opendir DIR, "/directory" or die "Can't get the directory, wtf?! $!"; # ???
Страницы perldoc Показать
opendir(my $dh, $some_dir) || die "can't opendir $some_dir: $!";
в качестве примера.
Должны ли мы предлагать людям использовать лексический дескриптор каталога и для opendir?