всё дело на винде
У меня на винде если #!/usr/bin/perl -w то не факт, что скрипт закончит работу правильно, а не встанет на полпути. А вот без -w все ништяк.
И пример твой с массивом выводит весь файл целиком (~64 kb). Файл правда не твой, может правда в нем загвоздка.
А ты кроме винды гденьть попробовать можешь? Что получится?