#!/usr/bin/perl -w use strict; my $code = q{ open( my $fh, '<', 'foo.txt' ) or die("open failed: $!") }; my $sub = sub { eval($code) or die("error in eval(): $@"); }; $sub->();