use strict; use warnings; use Data::Dumper; my @data = ( " 56 1752.eps", " 56 2613.eps", " 56 3469.eps", " 8 INPUT000", " 16 INPUT001", " 16 INPUT002", " 96 MTA.1.ps", " 96 MTA.6.ps", " 80 MTA.7.ps", " 32 head.eps", " 8 labs", " 0 lib", " 8 mkexe.bat", " 112 out", " 0 screenshots", "8720 trace.exe", " 16 trace.pl", " 8 tracehosts", "1160 trace.041409.exe", "1160 trace.orig.exe", ); foreach (@data) { print STDERR Dumper(split), "\n"; } OUTPUT SAMPLE: $VAR1 = '56'; $VAR2 = '1752.eps'; $VAR1 = '56'; $VAR2 = '2613.eps'; $VAR1 = '56'; $VAR2 = '3469.eps';