use IO::Scalar; my $data; tie *HACK, 'IO::Scalar', \$data; print HACK ; tied(*HACK)->setpos(0); *STDIN = *HACK; #### use IO::Scalar; $data = join '', ; my $s; tie *STDIN, 'IO::Scalar', \$s; print STDIN $data; tied(*STDIN)->setpos(0); #### print $data; print ;