- my $l = $_;
- $l =~ s/([\x00\x08\x0B-\x1f\x7f-\xff])/uc sprintf("%%%02x",ord($1))/eg;
- print "$l\n" if defined \*STDOUT;
- $fp->writeunix($t, "$t^$l");
+ s/([\x00-\x08\x0B-\x1f\x7f-\xff])/uc sprintf("%%%02x",ord($1))/eg;
+ print "$_\n" if defined \*STDOUT;
+ my $str = "$t^$_";
+ &$callback($str) if $callback;
+ $fp->writeunix($t, $str);