On Mon, Dec 20, 2004 at 04:50:57PM -0800, Ovid wrote: > And looking at line 1005: > > sub _print_diag { > my $self = shift; > > local($\, $", $,) = (undef, ' ', ''); > my $fh = $self->todo ? $self->todo_output : $self->failure_output; > print $fh @_; # here there be smart quotes > } > > There are a few strange paths in the code which could be causing this > (I'm wondering about the autoflush), but I was wondering if anyone has > seen this and knows how to cope with it? As you can see, I've tried > that standard binmode ':utf8' and using utf8, but to no avail.
For one, diag() goes to STDERR. But binmode'ing that doesn't work either. It must not survive the filehandle dup Test::Builder does. This shuts it up. use Test::Builder; BEGIN {my $fh = Test::Builder->new->failure_output; binmode $fh, ':utf8';} Test::Builder should do something like this internally, its not like anyone's going to drive binary data through a TB filehandle. The question is how does one do it without breaking older perls? -- Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern/ Once is a prank. Twice is a nuisance. But NINE TIMES is a TRADITION. -- Mark-Jason Dominus in <[EMAIL PROTECTED]>