Carp
view release on metacpan or search on metacpan
lib/Carp.pm view on Meta::CPAN
# is_safe_printable_codepoint() indicates whether a character, specified
# by integer codepoint, is OK to output literally in a trace. Generally
# this is if it is a printable character in the ancestral character set
# (ASCII or EBCDIC). This is used on some Perls in situations where a
# regexp can't be used.
BEGIN {
*is_safe_printable_codepoint =
"$]" >= 5.007_003 ?
eval(q(sub ($) {
my $u = utf8::native_to_unicode($_[0]);
$u >= 0x20 && $u <= 0x7e;
}))
: ord("A") == 65 ?
sub ($) { $_[0] >= 0x20 && $_[0] <= 0x7e }
:
sub ($) {
# Early EBCDIC
# 3 EBCDIC code pages supported then; all controls but one
# are the code points below SPACE. The other one is 0x5F on
# POSIX-BC; FF on the other two.
t/arg_regexp.t view on Meta::CPAN
use Carp ();
sub lmm { Carp::longmess("x") }
sub lm { lmm() }
sub rx { qr/$_[0]/ }
# Use full generality on sufficiently recent versions. On early Perl
# releases, U+E9 is 0x51 on all EBCDIC code pages supported then.
my $e9 = sprintf "%02x", (($] ge 5.007_003)
? utf8::unicode_to_native(0xe9)
: ((ord("A") == 193)
? 0x51
: 0xE9));
my $xe9 = "\\x$e9";
my $chr_e9 = eval "\"$xe9\"";
my $nl_as_hex = sprintf "%x", ord("\n");
# On Perl 5.6 we accept some incorrect quoting of Unicode characters,
# because upgradedness of regexps isn't preserved by stringification,
# so it's impossible to implement the correct behaviour.
t/arg_string.t view on Meta::CPAN
use Test::More tests => 33;
use Carp ();
sub lmm { Carp::longmess("x") }
sub lm { lmm() }
# Use full generality on sufficiently recent versions. On early Perl
# releases, U+E9 is 0x51 on all EBCDIC code pages supported then.
my $e9 = sprintf "%02x", (($] ge 5.007_003)
? utf8::unicode_to_native(0xe9)
: ((ord("A") == 193)
? 0x51
: 0xE9));
my $xe9 = "\\x$e9";
my $chr_e9 = eval "\"$xe9\"";
my $nl_as_hex = sprintf "%x", ord("\n");
like lm(3), qr/main::lm\(3\)/;
like lm(substr("3\x{2603}", 0, 1)), qr/main::lm\(3\)/;
like lm(-3), qr/main::lm\(-3\)/;
( run in 0.361 second using v1.01-cache-2.11-cpan-88abd93f124 )