in reply to do FILEHANDLE ?

There was a thread on this. And here's the trick hack:
sub do_fh (*) { # make use of @INC my $FH = shift() or return undef; unshift(@INC, sub { shift(@INC) and return $FH }); $@ = ""; my @ret = do $FH; # remove %INC side-effect no warnings; delete $INC{$FH}; return @ret; }