Господи, в _каком_ учебнике учат "foreach $file (@ARGV)"???
Larry Wall в camel book показывает это как классический "плохой стиль". В стиле do-as-I-think это должно выглядеть "while (<>)"....
Это позволит
1) Убрать самодеятельность и сократить, а также повысить читабельность текста.
2) Работать с stdin (coolprog-which-generates-braindead-text | delcr > text)