"\013" => "v", '"' => '"', "\\" => "\\" );
# working around lack of 'use encoding'
- $_ = pack "U0C*", unpack "C*", $_;
- use utf8;
+ if (!$utf) {
+ $_ = pack "U0C*", unpack "C*", $_;
+ use utf8;
+ }
s/[\000-\037"\\\177-\x{ffff}]/
if ($esc{$&}) {
"\\$esc{$&}";
- } elsif (ord($&) > 0x9f) {
- if ($utf) {
- $&;
- } else {
- sprintf "\\u%04x", ord($&);
- }
+ } elsif (ord($&) > 0x9f && !$utf) {
+ sprintf "\\u%04x", ord($&);
} else {
sprintf "\\%03o", ord($&);
}
/ge;
# working around lack of 'use encoding'
- no utf8;
- $_ = pack "C*", unpack "C*", $_;
+ if (!$utf) {
+ no utf8;
+ $_ = pack "C*", unpack "C*", $_;
+ }
return ($utf ? '"' : 'L"') . $_ . '"'
}
my $results = $opts =~ /-inline/ && $test ne 'f' ? $extras[$i+2] : '';
# get them all in the right order and print
- unshift @args, $test, parsetcl($id), '-';
+ unshift @args, $test, parsetcl($id), $results ? '-' : 'o';
push @args, parsetcl(parsetcl($results)) if $results;
handle_test @args;
}