use warnings; use strict; open testFile, '>', 'delme.txt'; print testFile <) { my $current = $_; chomp $current; print "$.\n"; while () { print "$_" if $. == $current; } seek (testFile, 0, 0); $. = 0; } close testFile; __DATA__ 3 1 2 #### 1 Test file line 3 2 Test file line 1 3 Test file line 2 #### use warnings; use strict; open testFile, '>', 'delme.txt'; print testFile <; print "DATA: $.\n"; ; print "Test: $.\n"; ; ; print "Test: $.\n"; ; print "DATA: $.\n"; seek testFile, 0, 0; $. = 0; print "Test: $.\n"; ; print "DATA: $.\n"; close testFile; __DATA__ 3 1 2 5 #### DATA: 1 Test: 1 Test: 3 DATA: 2 Test: 0 DATA: 3