дополнено: опытным путем выяснено, что не передается окружение (прокси) перлу. Вопрос: как указать явным образом прокси в скрипте? а не через окружение (my $env_proxy)
Вообще, $ua->env_proxy берет переменные прокси из переменных
gopher_proxy=http://proxy.my.place/
wais_proxy=http://proxy.my.place/
no_proxy="localhost,my.domain"
чтобы они передавались перлу, их нужно выставить
export gopher_proxy wais_proxy no_proxy
Сделать это можно при вызове update.pl. НО подразумевается, что они уже выставлены. Поэтому я прописывать прокси и не тороплюсь в скрипте.
также для мониторинга крона во время тестовых запусков полезно сделать
[min] [hour] * * * /path/to/update.pl > /path/to/log/update.log 2>&1
и тама смотреть вывод работы скрипта
При работе крона сперва надо смотреть его лог: /var/cron/log
А, если нужен вывод скрипта в лог можно написать так
open(STDOUT, '|tee log.log');
open(STDERR, '>&STDOUT');
binmode(STDOUT);
binmode(STDERR);
STDOUT->autoflush();
STDERR->autoflush();
но этого в скрипте я писать не буду
. Если кому-то понадобится вывод, то он сделает так, как вы предложили.