in reply to String parse

That "@push" is a typo. (Use strict and you will get messages about such things.) It should be the command push, but you don't need it anyway in this case. Here's a shorter version:
use strict; while (<INPUT>) { # $_ is implied by default. my @lineinfo = split; print "LEN: ",scalar(@lineinfo),"\n"; }