$/ = \32; my $pos = tell($fh); while( <$fh> ) { if ($_ =~ /something/) { my $cur = tell($fh); seek $fh, 0, $pos or die "Can't seek: $!\n"; print $fh "something else" or die "Can't print: $!\n"; seel $fh, 0, $cur; } $pos = tell($fh) or die "Can't tell: $!\n; }