This won't work for me, although tye's version will.
#!/usr/bin/perl
use strict;
use warnings;
moose();
sub moose {
my $filename = 'ter.pl';
my $contents = do { local (*ARGV, $/) = [ $filename ]; <> };
print $contents;
}
sub loose {
my $filename = 'ter.pl';
my $data= do { local( *ARGV, $/ );
@ARGV= $filename; <> };
print $data;
}
__END__
readline() on unopened filehandle ARGV at foo.pl line 8.
Use of uninitialized value in print at foo.pl line 9.
it opens a script to exemplify ternary ops. Nothing special there. Using: This is perl, v5.6.1 built for MSWin32-x86-multi-thread.