in reply to STDIN question
use strict; print myslurp(); sub myslurp { if(shift){ open(F,"<$_") or die "Can't open $_: $!"; }else{ F=*STDIN{IO}; } local $/=undef; my $slurp=<F>; close(F); $slurp; } [download]