Вы хотите выполнить какое-либо действие на MYFILE
после того, как вы (или сам переводчик из-за ошибки) закрыли его.
Согласно вашему примеру кода, проблема может заключаться в том, что open
на самом деле не открывает файл, возможно, у сценария нет разрешения на запись в файл.
Измените свой код на следующий, чтобы увидеть, если произошла ошибка:
open(MYFILE, ">", "/home/abc/xrt/sdf/news/top.html") or die "Couldn't open: $!";
Обновление
ysth указал, что -w
не очень хорош при проверке возможности записи в файл, он только «проверяет, установлен ли один из соответствующих флагов в режиме». Кроме того, Брайан Д. Фой сказал мне, что использованное мною условие плохо подходит для обработки ошибки. Поэтому я удалил вводящий в заблуждение код. Вместо этого используйте код выше.