Обратите внимание, что есть ошибка с
perl -e'warn ("foo") '
foo в -e строке 1.
если он заканчивается новой строкой, он не будет печатать номер строки
perl -e'warn ("foo \ n") '
Foo
Это задокументировано в "perldoc -f die", но, возможно, его легко не заметить в разделе "perldoc -f warn" для die ...