use Tie::Input::Insertable; tie *FOO, 'TIE::Input::Insertable', *STDIN; while () { print FOO "Hello, world\n" if /foo/; print $_; }