404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.14.248.85: ~ $
package URI::Split;

use strict;
use warnings;

our $VERSION = '1.73';
$VERSION = eval $VERSION;

use Exporter 5.57 'import';
our @EXPORT_OK = qw(uri_split uri_join);

use URI::Escape ();

sub uri_split {
     return $_[0] =~ m,(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?,;
}

sub uri_join {
    my($scheme, $auth, $path, $query, $frag) = @_;
    my $uri = defined($scheme) ? "$scheme:" : "";
    $path = "" unless defined $path;
    if (defined $auth) {
	$auth =~ s,([/?\#]), URI::Escape::escape_char($1),eg;
	$uri .= "//$auth";
	$path = "/$path" if length($path) && $path !~ m,^/,;
    }
    elsif ($path =~ m,^//,) {
	$uri .= "//";  # XXX force empty auth
    }
    unless (length $uri) {
	$path =~ s,(:), URI::Escape::escape_char($1),e while $path =~ m,^[^:/?\#]+:,;
    }
    $path =~ s,([?\#]), URI::Escape::escape_char($1),eg;
    $uri .= $path;
    if (defined $query) {
	$query =~ s,(\#), URI::Escape::escape_char($1),eg;
	$uri .= "?$query";
    }
    $uri .= "#$frag" if defined $frag;
    $uri;
}

1;

__END__

=head1 NAME

URI::Split - Parse and compose URI strings

=head1 SYNOPSIS

 use URI::Split qw(uri_split uri_join);
 ($scheme, $auth, $path, $query, $frag) = uri_split($uri);
 $uri = uri_join($scheme, $auth, $path, $query, $frag);

=head1 DESCRIPTION

Provides functions to parse and compose URI
strings.  The following functions are provided:

=over

=item ($scheme, $auth, $path, $query, $frag) = uri_split($uri)

Breaks up a URI string into its component
parts.  An C<undef> value is returned for those parts that are not
present.  The $path part is always present (but can be the empty
string) and is thus never returned as C<undef>.

No sensible value is returned if this function is called in a scalar
context.

=item $uri = uri_join($scheme, $auth, $path, $query, $frag)

Puts together a URI string from its parts.
Missing parts are signaled by passing C<undef> for the corresponding
argument.

Minimal escaping is applied to parts that contain reserved chars
that would confuse a parser.  For instance, any occurrence of '?' or '#'
in $path is always escaped, as it would otherwise be parsed back
as a query or fragment.

=back

=head1 SEE ALSO

L<URI>, L<URI::Escape>

=head1 COPYRIGHT

Copyright 2003, Gisle Aas

This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

=cut

Filemanager

Name Type Size Permission Actions
file Folder 0755
urn Folder 0755
Escape.pm File 6.9 KB 0644
Heuristic.pm File 6.37 KB 0644
IRI.pm File 820 B 0644
QueryParam.pm File 4.77 KB 0644
Split.pm File 2.32 KB 0644
URL.pm File 5.36 KB 0644
WithBase.pm File 3.77 KB 0644
_foreign.pm File 133 B 0644
_generic.pm File 5.71 KB 0644
_idna.pm File 2.06 KB 0644
_ldap.pm File 3.2 KB 0644
_login.pm File 257 B 0644
_punycode.pm File 5.52 KB 0644
_query.pm File 2.5 KB 0644
_segment.pm File 442 B 0644
_server.pm File 3.66 KB 0644
_userpass.pm File 1.04 KB 0644
data.pm File 3.34 KB 0644
file.pm File 9.53 KB 0644
ftp.pm File 1.06 KB 0644
gopher.pm File 2.4 KB 0644
http.pm File 451 B 0644
https.pm File 170 B 0644
ldap.pm File 2.88 KB 0644
ldapi.pm File 467 B 0644
ldaps.pm File 170 B 0644
mailto.pm File 1.27 KB 0644
mms.pm File 151 B 0644
news.pm File 1.45 KB 0644
nntp.pm File 153 B 0644
pop.pm File 1.2 KB 0644
rlogin.pm File 155 B 0644
rsync.pm File 233 B 0644
rtsp.pm File 151 B 0644
rtspu.pm File 152 B 0644
sftp.pm File 124 B 0644
sip.pm File 1.69 KB 0644
sips.pm File 169 B 0644
snews.pm File 198 B 0644
ssh.pm File 201 B 0644
telnet.pm File 154 B 0644
tn3270.pm File 154 B 0644
urn.pm File 2.15 KB 0644