use Tie::File; use strict; use warnings; my @contents; tie @contents, "Tie::File", "somefile"; s/foo/bar/g foreach (@contents); untie @contents;