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: urn.pm
package URI::urn; # RFC 2141 use strict; use warnings; our $VERSION = '1.73'; $VERSION = eval $VERSION; use parent 'URI'; use Carp qw(carp); my %implementor; my %require_attempted; sub _init { my $class = shift; my $self = $class->SUPER::_init(@_); my $nid = $self->nid; my $impclass = $implementor{$nid}; return $impclass->_urn_init($self, $nid) if $impclass; $impclass = "URI::urn"; if ($nid =~ /^[A-Za-z\d][A-Za-z\d\-]*\z/) { my $id = $nid; # make it a legal perl identifier $id =~ s/-/_/g; $id = "_$id" if $id =~ /^\d/; $impclass = "URI::urn::$id"; no strict 'refs'; unless (@{"${impclass}::ISA"}) { if (not exists $require_attempted{$impclass}) { # Try to load it my $_old_error = $@; eval "require $impclass"; die $@ if $@ && $@ !~ /Can\'t locate.*in \@INC/; $@ = $_old_error; } $impclass = "URI::urn" unless @{"${impclass}::ISA"}; } } else { carp("Illegal namespace identifier '$nid' for URN '$self'") if $^W; } $implementor{$nid} = $impclass; return $impclass->_urn_init($self, $nid); } sub _urn_init { my($class, $self, $nid) = @_; bless $self, $class; } sub _nid { my $self = shift; my $opaque = $self->opaque; if (@_) { my $v = $opaque; my $new = shift; $v =~ s/[^:]*/$new/; $self->opaque($v); # XXX possible rebless } $opaque =~ s/:.*//s; return $opaque; } sub nid { # namespace identifier my $self = shift; my $nid = $self->_nid(@_); $nid = lc($nid) if defined($nid); return $nid; } sub nss { # namespace specific string my $self = shift; my $opaque = $self->opaque; if (@_) { my $v = $opaque; my $new = shift; if (defined $new) { $v =~ s/(:|\z).*/:$new/; } else { $v =~ s/:.*//s; } $self->opaque($v); } return undef unless $opaque =~ s/^[^:]*://; return $opaque; } sub canonical { my $self = shift; my $nid = $self->_nid; my $new = $self->SUPER::canonical; return $new if $nid !~ /[A-Z]/ || $nid =~ /%/; $new = $new->clone if $new == $self; $new->nid(lc($nid)); return $new; } 1;
Upload File
Create Folder