Как сбросить файл в Perl под Mac? - PullRequest
2 голосов
/ 06 мая 2011

У меня есть perl, v5.10.0 built for darwin-thread-multi-2level в удаленном iMac. И я хочу запустить некоторый Perl-скрипт, который печатает в файл некоторые данные и сбрасывает после каждой строки вывода.

  1. $ file_handle-> заподлицо ();
  2. autoflush $ file_handle;

Я пробовал эти две версии с use IO::Handle; в верхней части файла, но в результате я получаю Can't locate object method "autoflush" via package "FileHandle".

Ответы [ 3 ]

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

Откуда вы получаете $file_handle? Похоже, это экземпляр FileHandle, а не объект IO::Handle.

Вы можете попробовать

use FileHandle;

вверху скрипта вместо IO::Handle. Или измените код так, чтобы $file_handle больше не был экземпляром FileHandle.

PS: вы действительно не должны запускать 5.10.0, в нем довольно много ошибок. 5.10.1 или что-то новее, намного лучше.

2 голосов
/ 25 марта 2013

использовать FileHandle; решил мою проблему. У меня были проблемы с Net :: SCP :: Expect. Это произошло под CentOS 6.3.

Я получаю ошибки вроде:
-не могу найти автозапуск метода объекта через дескриптор файла пакета
-не могу найти блокировку метода объекта через дескриптор файла пакета

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

Вы уверены, что используете use IO :: Handle;не опечатка?

Мне кажется, модуль не загружен.

...