{ open local *STDOUT, '>', \$buf; ... } #### open TEMP, '>', \$buf; my $old_select = select(TEMP); ... select($old_select); #### { my $old_select = select(); my $handle = on_release { select($old_select); }; open local *STDOUT, '>', \$buf; select(STDOUT); ... }