local $ENV{LANG} = $different;
# Can't turn off the warnings, so send them to /dev/null
- fresh_perl_is(<<'EOF', "$difference", { stderr => "devnull" },
+ fresh_perl_is(<<"EOF", "$difference", { stderr => "devnull" },
+ if (\$ENV{LC_ALL} ne "invalid") {
+ # Make the test pass if the sh didn't accept the ENV set
+ print "$difference\n";
+ exit 0;
+ }
use locale;
use POSIX qw(locale_h);
setlocale(LC_NUMERIC, "");
- my $in = 4.2;
- printf("%g", $in);
+ my \$in = 4.2;
+ printf("%g", \$in);
EOF
"LANG is used if LC_ALL, LC_NUMERIC are invalid");
}
local $ENV{LANG} = "invalid";
# Can't turn off the warnings, so send them to /dev/null
- fresh_perl_is(<<'EOF', 4.2, { stderr => "devnull" },
+ fresh_perl_is(<<"EOF", 4.2, { stderr => "devnull" },
+ if (\$ENV{LC_ALL} ne "invalid") {
+ print "$difference\n";
+ exit 0;
+ }
use locale;
use POSIX qw(locale_h);
setlocale(LC_NUMERIC, "");
- my $in = 4.2;
- printf("%g", $in);
+ my \$in = 4.2;
+ printf("%g", \$in);
EOF
'C locale is used if LC_ALL, LC_NUMERIC, LANG are invalid');
}