PATH:
usr
/
share
/
perl
/
5.30.0
use strict; use warnings; # A tiny private library routine which is a helper to several Perl core # modules, to allow a paradigm to be implemented in a single place. The name, # contents, or even the existence of this file may be changed at any time and # are NOT to be used by anything outside the Perl core. sub _meta_notation ($) { # Returns a copy of the input string with the nonprintable characters # below 0x100 changed into printables. Any ASCII printables or above 0xFF # are unchanged. (XXX Probably above-Latin1 characters should be # converted to \X{...}) # # \0 .. \x1F (which are "\c@" .. "\c_") are changed into ^@, ^A, ^B, ... # ^Z, ^[, ^\, ^], ^^, ^_ # \c? is changed into ^?. # # The above accounts for all the ASCII-range nonprintables. # # On ASCII platforms, the upper-Latin1-range characters are converted to # Meta notation, so that \xC1 becomes 'M-A', \xE2 becomes 'M-b', etc. # This is how it always has worked, so is continued that way for backwards # compatibility. The range \x80 .. \x9F becomes M-^@ .. M-^A, M-^B, ... # M-^Z, M-^[, M-^\, M-^], M-^, M-^_ # # On EBCDIC platforms, the upper-Latin1-range characters are converted # into '\x{...}' Meta notation doesn't make sense on EBCDIC platforms # because the ASCII-range printables are a mixture of upper bit set or # not. [A-Za-Z0-9] all have the upper bit set. The underscore likely # doesn't; and other punctuation may or may not. There's no simple # pattern. my $string = shift; $string =~ s/([\0-\037])/ sprintf("^%c",utf8::unicode_to_native(ord($1)^64))/xeg; $string =~ s/\c?/^?/g; if (ord("A") == 65) { $string =~ s/([\200-\237])/sprintf("M-^%c",(ord($1)&0177)^64)/eg; $string =~ s/([\240-\377])/sprintf("M-%c" ,ord($1)&0177)/eg; } else { no warnings 'experimental::regex_sets'; # Leave alone things above \xff $string =~ s/( (?[ [\x00-\xFF] & [:^print:]])) / sprintf("\\x{%X}", ord($1))/xaeg; } return $string; } 1
[+]
..
[-] XSLoader.pm
[edit]
[+]
CPAN
[+]
HTTP
[-] FindBin.pm
[edit]
[+]
overload
[-] version.pm
[edit]
[+]
IO
[-] deprecate.pm
[edit]
[+]
Attribute
[+]
Time
[-] sort.pm
[edit]
[-] parent.pm
[edit]
[+]
App
[-] bignum.pm
[edit]
[+]
Tie
[+]
pod
[+]
Thread
[-] AnyDBM_File.pm
[edit]
[-] subs.pm
[edit]
[-] Digest.pm
[edit]
[+]
Carp
[+]
IPC
[+]
Test2
[-] strict.pm
[edit]
[+]
encoding
[-] Symbol.pm
[edit]
[-] feature.pm
[edit]
[-] locale.pm
[edit]
[-] PerlIO.pm
[edit]
[-] CORE.pod
[edit]
[-] ok.pm
[edit]
[-] Env.pm
[edit]
[-] bytes_heavy.pl
[edit]
[-] SelfLoader.pm
[edit]
[+]
I18N
[+]
version
[-] base.pm
[edit]
[-] charnames.pm
[edit]
[-] Thread.pm
[edit]
[-] Fatal.pm
[edit]
[-] meta_notation.pm
[edit]
[-] DB.pm
[edit]
[-] SelectSaver.pm
[edit]
[-] diagnostics.pm
[edit]
[-] fields.pm
[edit]
[-] bytes.pm
[edit]
[+]
Filter
[+]
B
[+]
Getopt
[-] utf8_heavy.pl
[edit]
[-] experimental.pm
[edit]
[-] Internals.pod
[edit]
[+]
Class
[+]
Memoize
[-] Test.pm
[edit]
[-] UNIVERSAL.pm
[edit]
[+]
warnings
[+]
TAP
[-] perl5db.pl
[edit]
[+]
Module
[-] vmsish.pm
[edit]
[+]
Digest
[-] integer.pm
[edit]
[-] AutoSplit.pm
[edit]
[-] bigrat.pm
[edit]
[-] utf8.pm
[edit]
[-] Dumpvalue.pm
[edit]
[-] Safe.pm
[edit]
[+]
User
[-] FileHandle.pm
[edit]
[+]
Exporter
[+]
Config
[-] warnings.pm
[edit]
[-] constant.pm
[edit]
[-] Benchmark.pm
[edit]
[-] Memoize.pm
[edit]
[+]
File
[-] overload.pm
[edit]
[-] sigtrap.pm
[edit]
[+]
Net
[-] AutoLoader.pm
[edit]
[+]
Search
[+]
Compress
[+]
autodie
[+]
DBM_Filter
[+]
Params
[-] perlfaq.pm
[edit]
[-] dumpvar.pl
[edit]
[-] English.pm
[edit]
[-] DBM_Filter.pm
[edit]
[+]
Archive
[-] if.pm
[edit]
[-] Test2.pm
[edit]
[+]
ExtUtils
[-] FileCache.pm
[edit]
[-] NEXT.pm
[edit]
[+]
Math
[-] CPAN.pm
[edit]
[+]
Devel
[+]
Perl
[+]
JSON
[-] version.pod
[edit]
[+]
Term
[-] less.pm
[edit]
[-] bigint.pm
[edit]
[+]
Locale
[-] autouse.pm
[edit]
[-] vars.pm
[edit]
[-] open.pm
[edit]
[-] overloading.pm
[edit]
[+]
Encode
[-] Exporter.pm
[edit]
[+]
PerlIO
[+]
Pod
[+]
Test
[-] filetest.pm
[edit]
[-] DirHandle.pm
[edit]
[-] Carp.pm
[edit]
[+]
Unicode
[+]
Text
[-] _charnames.pm
[edit]
[-] autodie.pm
[edit]
[-] blib.pm
[edit]
[+]
unicore
[+]
Parse