use strict; while(){ local $/; my $line = $_; ########@push @lineinfo, split $line; ###### The @push .... is not a compiling code my @lineinfo = split(' ',$line); ########## @lineinfo = () ; I have less cluesss on what you are doing ######### You have to use strict; ######### learn about split,push commands and perldoc perlop ######### perldoc split ######### perldoc push ######### perldoc perlop ######### abotu strict module too