#!/usr/bin/perl # http://perlmonks.org/?node_id=1213644 use strict; use warnings; warn "before on STDERR\n"; test(); warn "after on STDERR\n"; sub test { my $log = ''; local *STDERR; open STDERR, '>', \$log or die; warn "test message should be in log\n"; close STDERR or die; print "log contents: $log"; } #### before on STDERR log contents: test message should be in log after on STDERR