zoul обработал перенаправление, так что вот удивительно сложный ответ на предупреждения.
Просто вызовите программу так: perl -w script.pl
Это заставляет предупреждения включаться повсюду в скрипте и во всех модулях. Действительно лучше использовать прагму предупреждений в каждом написанном вами модуле. См. perldoc perllexwarn для получения дополнительной информации по этому вопросу.
Еще одна хитрость, которая хороша при отладке, это использование Carp :: Always . Если форсирует полную трассировку стека при каждой ошибке. Я нахожу это очень очень полезным. Просто запустите ваш скрипт так:
perl -MCarp::Always somescript.pl
или получить его в файл:
perl -MCarp::Always somescript.pl 2&> somefile.txt
И, наконец, я отступлю от вашего вопроса немного подробнее. Многим людям нравится использовать свой код, используя библиотеку журналов, такую как Log4Perl . Подобные инструменты позволяют вам включить ведение журнала на определенном уровне (например, обычном или отладочном) или в определенных частях вашего приложения при отдельных запусках вашего кода. Это последняя (?) Эволюция оператора отладочной печати. Это может быть очень полезно при отладке сбоев как в процессе разработки, так и в полевых условиях после того, как вы достигли фазы обслуживания.