my $html; { # $filename and $fh only used here # and they won't conflict with anything else my $filename = q{some/file.html}; open my $fh, q{<}, $filename or die qq{cant open $filename: $!\n}; $html = do{local $/;<$fh>}; } # any previous $filename and $fh remain unharmed