#!/usr/bin/perl -l use IO::Scalar; my $x = ""; { local *STDERR; tie *STDERR, 'IO::Scalar', \$x; print STDERR "foo"; } print STDERR "bar"; print "caught: $x"; __END__ caught: foobar