Различные способы открытия файла в Perl - PullRequest
4 голосов
/ 06 мая 2011

Я видел, что в Perl иногда для открытия файла для записи они используют:

open(my $file_handle, ">$file_name");

А иногда:

open(FILE_HANDLE, ">$file_name");

В чем разница?

1 Ответ

14 голосов
/ 06 мая 2011

Первый метод, который вы показали, является более новым и обычно выгодным. Он использует лексические дескрипторы файлов (дескрипторы файлов, которые имеют лексическую область видимости). Второй метод использует файловые дескрипторы глобальных типов пакетов. Их сфера охвата шире. Современные программы на Perl обычно используют версию «my», если только у них нет веских причин не делать этого.

Вы должны взглянуть на perlopentut (из документации Perl) и perlfunc -f open (из Perl POD) . Эти два ресурса дают вам много полезной информации. Пока вы там, посмотрите версию с тремя аргументами open, а также проверку ошибок. Действительно хороший способ открыть файл в настоящее время:

open my $file_handle, '>', $filename or die $!;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...