use Fcntl 'SEEK_SET'; while () { if (/STRUC20/) { seek MODIFIED, SEEK_SET, 0 or die; next; } print MODIFIED $_; } truncate MODIFIED, tell MODIFIED or die;