#! perl -slw use strict; sub clean { my( @dirty ) = @_; my @clean; for ( @dirty ) { s[\s*(\S+)\s*][$1]; push @clean, $_; } return @clean; } sub double { my( @data ) = @_; my @doubled; for ( @data ) { push @doubled, $_ *2; } return @doubled; } open FILE, '<', 'data\1millionlines.dat' or die $!; my @data = ; my @cleaned = clean( @data ); my @doubled = double @cleaned; print for @doubled; printf 'Check mem.'; ;