X7ROOT File Manager
Current Path:
/usr/share/perl5/URI
usr
/
share
/
perl5
/
URI
/
ðŸ“
..
📄
Escape.pm
(6.9 KB)
📄
Heuristic.pm
(6.37 KB)
📄
IRI.pm
(820 B)
📄
QueryParam.pm
(4.77 KB)
📄
Split.pm
(2.32 KB)
📄
URL.pm
(5.36 KB)
📄
WithBase.pm
(3.77 KB)
📄
_foreign.pm
(133 B)
📄
_generic.pm
(5.71 KB)
📄
_idna.pm
(2.06 KB)
📄
_ldap.pm
(3.2 KB)
📄
_login.pm
(257 B)
📄
_punycode.pm
(5.52 KB)
📄
_query.pm
(2.5 KB)
📄
_segment.pm
(442 B)
📄
_server.pm
(3.66 KB)
📄
_userpass.pm
(1.04 KB)
📄
data.pm
(3.34 KB)
ðŸ“
file
📄
file.pm
(9.53 KB)
📄
ftp.pm
(1.06 KB)
📄
gopher.pm
(2.4 KB)
📄
http.pm
(451 B)
📄
https.pm
(170 B)
📄
ldap.pm
(2.88 KB)
📄
ldapi.pm
(467 B)
📄
ldaps.pm
(170 B)
📄
mailto.pm
(1.27 KB)
📄
mms.pm
(151 B)
📄
news.pm
(1.45 KB)
📄
nntp.pm
(153 B)
📄
pop.pm
(1.2 KB)
📄
rlogin.pm
(155 B)
📄
rsync.pm
(233 B)
📄
rtsp.pm
(151 B)
📄
rtspu.pm
(152 B)
📄
sftp.pm
(124 B)
📄
sip.pm
(1.69 KB)
📄
sips.pm
(169 B)
📄
snews.pm
(198 B)
📄
ssh.pm
(201 B)
📄
telnet.pm
(154 B)
📄
tn3270.pm
(154 B)
ðŸ“
urn
📄
urn.pm
(2.15 KB)
Editing: _idna.pm
package URI::_idna; # This module implements the RFCs 3490 (IDNA) and 3491 (Nameprep) # based on Python-2.6.4/Lib/encodings/idna.py use strict; use warnings; use URI::_punycode qw(encode_punycode decode_punycode); use Carp qw(croak); our $VERSION = '1.73'; $VERSION = eval $VERSION; BEGIN { *URI::_idna::_ENV_::JOIN_LEAKS_UTF8_FLAGS = "$]" < 5.008_003 ? sub () { 1 } : sub () { 0 } ; } my $ASCII = qr/^[\x00-\x7F]*\z/; sub encode { my $idomain = shift; my @labels = split(/\./, $idomain, -1); my @last_empty; push(@last_empty, pop @labels) if @labels > 1 && $labels[-1] eq ""; for (@labels) { $_ = ToASCII($_); } return eval 'join(".", @labels, @last_empty)' if URI::_idna::_ENV_::JOIN_LEAKS_UTF8_FLAGS; return join(".", @labels, @last_empty); } sub decode { my $domain = shift; return join(".", map ToUnicode($_), split(/\./, $domain, -1)) } sub nameprep { # XXX real implementation missing my $label = shift; $label = lc($label); return $label; } sub check_size { my $label = shift; croak "Label empty" if $label eq ""; croak "Label too long" if length($label) > 63; return $label; } sub ToASCII { my $label = shift; return check_size($label) if $label =~ $ASCII; # Step 2: nameprep $label = nameprep($label); # Step 3: UseSTD3ASCIIRules is false # Step 4: try ASCII again return check_size($label) if $label =~ $ASCII; # Step 5: Check ACE prefix if ($label =~ /^xn--/) { croak "Label starts with ACE prefix"; } # Step 6: Encode with PUNYCODE $label = encode_punycode($label); # Step 7: Prepend ACE prefix $label = "xn--$label"; # Step 8: Check size return check_size($label); } sub ToUnicode { my $label = shift; $label = nameprep($label) unless $label =~ $ASCII; return $label unless $label =~ /^xn--/; my $result = decode_punycode(substr($label, 4)); my $label2 = ToASCII($result); if (lc($label) ne $label2) { croak "IDNA does not round-trip: '\L$label\E' vs '$label2'"; } return $result; } 1;
Upload File
Create Folder