open my $savederr, '>&', \*STDERR; my $module_stderr = ''; open(STDERR, '>', \$module_stderr); SomeFunkyModule::sub_that_spews_to_stderr(); open(STDERR, '>&', $savederr); # process the stuff in $module_stderr #### @/=map{[/./g]}qw/.h_nJ Xapou cets krht ele_ r_ra/; map{y/X_/\n /;print}map{pop@$_}@/for@/