require Exporter;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-$VERSION = 1.21;
+$VERSION = 1.22;
@ISA = qw(Exporter);
@EXPORT = qw(pod2html htmlify);
@EXPORT_OK = qw(anchorify);
use File::Spec::Unix;
use Getopt::Long;
use Pod::Simple::Search;
-BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale; # make \w work right in non-ASCII lands
- }
-}
+use locale; # make \w work right in non-ASCII lands
=head1 NAME
require POSIX;
$locale = POSIX::setlocale( &POSIX::LC_ALL, "C");
if (defined $locale && $locale eq 'C') {
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale; # make \w work right in non-ASCII lands
- }
- }
+ use locale; # make \w work right in non-ASCII lands
# Some locale implementations don't have the 128-255 characters all
# mean nothing. Skip the locale tests in that situation
}
if (defined $locale) {
- require locale; import locale;
-
+ use locale;
POSIX::setlocale( &POSIX::LC_ALL, "C");
$ret = truth eval "test_is${function}_LC($i)";
if ($@) {
}
if (defined $locale && $name ne 'vertws') {
- require locale; import locale;
-
+ use locale;
POSIX::setlocale( &POSIX::LC_ALL, "C");
$ret = truth eval "test_is${function}_LC_uvchr('$i')";
if ($@) {
}
if ($name ne 'vertws' && defined $locale) {
- require locale; import locale;
-
+ use locale;
POSIX::setlocale( &POSIX::LC_ALL, "C");
$ret = truth eval "test_is${function}_LC_utf8('$char')";
if ($@) {
if ($name ne 'TITLE') { # Test _LC; titlecase is not defined in locales.
if (defined $locale) {
- require locale; import locale;
-
- POSIX::setlocale( &POSIX::LC_ALL, "C");
+ use locale;
+ POSIX::setlocale( &POSIX::LC_ALL, "C");
$ret = eval "test_to${function}_LC($j)";
if ($@) {
fail($@);
) {
skip "no locale support", 7
}
- BEGIN {
- if($Config::Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
use re '/u';
is qr//, '(?^u:)', 'use re "/u" with active locale';
no re '/u';
SKIP: {
skip 'No locale testing without d_setlocale', 8 if(!$Config{d_setlocale});
- require locale; import locale;
+ use locale;
my $char = ":";
is(quotemeta($char), "\\$char", "quotemeta '$char' locale");
SKIP: {
skip 'No locale testing without d_setlocale', 12 if(!$Config{d_setlocale});
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
my $char = ":";
utf8::upgrade($char);
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
$res = $s =~ /(\w+)/; $one = $1;
}
isnt_tainted($s, "$desc: s not tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
$res = $s =~ /(\w)/g; $one = $1;
}
isnt_tainted($s, "$desc: s not tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
($res) = $s =~ /(\w+)/; $one = $1;
}
isnt_tainted($s, "$desc: s not tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
($res, $res2) = $s =~ /(\w)/g; $one = $1;
}
isnt_tainted($s, "$desc: s not tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
$res = $s =~ s/(\w+)/xyz/; $one = $1;
}
is_tainted($s, "$desc: s tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
$res = $s =~ s/(\w)/x/g; $one = $1;
}
is_tainted($s, "$desc: s tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
$res = $s =~ s/(\w+)/xyz/r; $one = $1;
}
isnt_tainted($s, "$desc: s not tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
$res = $s =~ /(\w+)/; $one = $1;
}
isnt_tainted($s, "$desc: s not tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
$res = $s =~ /(\w)/g; $one = $1;
}
isnt_tainted($s, "$desc: s not tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
($res) = $s =~ /(\w+)/; $one = $1;
}
isnt_tainted($s, "$desc: s not tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
($res, $res2) = $s =~ /(\w)/g; $one = $1;
}
isnt_tainted($s, "$desc: s not tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
$res = $s =~ s/(\w+)/xyz/; $one = $1;
}
is_tainted($s, "$desc: s tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
$res = $s =~ s/(\w)/x/g; $one = $1;
}
is_tainted($s, "$desc: s tainted");
$s = 'abcd';
{
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
$res = $s =~ s/(\w+)/xyz/r; $one = $1;
}
isnt_tainted($s, "$desc: s not tainted");
skip 'No locale testing without d_setlocale', 4 if(!$Config{d_setlocale});
use feature 'fc';
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
my ($latin1, $utf8) = ("\xDF") x 2;
utf8::downgrade($latin1);
utf8::upgrade($utf8);
if($Config{d_setlocale}) {
my $current_locale = POSIX::setlocale( &POSIX::LC_CTYPE, "C") // "";
if ($current_locale eq 'C') {
- require locale; import locale;
+ use locale;
# Some implementations don't have the 128-255 range characters all
# mean nothing under the C locale (an example being VMS). This is
SKIP: {
skip 'No locale testing without d_setlocale', 1 if(!$Config{d_setlocale});
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
$locale = qr/\b\v$/;
is($locale, '(?^l:\b\v$)', 'Verify has l modifier when compiled under use locale');
no locale;
SKIP: {
skip 'No locale testing without d_setlocale', 2 if(!$Config{d_setlocale});
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
is(qr/abc$dual/, '(?^l:abc(?^:\b\v$))', 'Verify retains d meaning when interpolated under locale');
is(qr/abc$unicode/, '(?^l:abc(?^u:\b\v$))', 'Verify retains u when interpolated under locale');
}
my ($base, $different, $comma, $difference, $utf8_radix);
my $radix_encoded_as_utf8;
for ("C", @locales) { # prefer C for the base if available
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
setlocale(LC_NUMERIC, $_) or next;
my $in = 4.2; # avoid any constant folding bugs
if ((my $s = sprintf("%g", $in)) eq "4.2") {
@.#
4.179
.
-{ require locale; import locale; write; }
+{ use locale; write; }
EOF
"too late to look at the locale at write() time");
}
# do not let "use 5.000" affect the locale!
# this test is to prevent regression of [rt.perl.org #105784]
fresh_perl_is(<<"EOF",
- BEGIN {
- if("$Config{d_setlocale}") {
- require locale; import locale;
- }
- }
+ use locale;
use POSIX;
my \$i = 0.123;
POSIX::setlocale(POSIX::LC_NUMERIC(),"$different");
utf8::upgrade($utf8);
is(fc($latin1), fc($utf8), "fc() gives the same results for \\x{$_} in Latin-1 and UTF-8 under unicode_strings");
SKIP: {
- skip 'No locale testing without d_setlocale', 2 if(!$Config{d_setlocale});
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ skip 'No locale testing without d_setlocale', 2 if(!$Config{d_setlocale});
+ use locale;
is(fc($latin1), lc($latin1), "use locale; fc(qq{\\x{$_}}), lc(qq{\\x{$_}}) when qq{\\x{$_}} is in latin-1");
is(fc($utf8), lc($utf8), "use locale; fc(qq{\\x{$_}}), lc(qq{\\x{$_}}) when qq{\\x{$_}} is in latin-1");
}
} elsif ($^O eq 'dec_osf' || $^O eq 'VMS') {
skip "$^O has broken en_GB.ISO8859-1 locale", 24;
} else {
- BEGIN {
- if($Config{d_setlocale}) {
- require locale; import locale;
- }
- }
+ use locale;
my $u = UTF8Toggle->new("\311");
my $lc = lc $u;
is (length $lc, 1);