⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rel.al

📁 美国CMU大学开发的操作系统健壮性评测软件
💻 AL
字号:
# NOTE: Derived from ./blib/lib/URI/URL/_generic.pm.  Changes made here will be lost.package URI::URL::_generic;# The oposite of $url->abs.  Return a URL as much relative as possiblesub rel {    my($self, $base) = @_;    my $rel = $self->clone;    $base = $self->base unless $base;    return $rel unless $base;    $base = new URI::URL $base unless ref $base;    $rel->base($base);    my($scheme, $netloc, $path) = @{$rel}{qw(scheme netloc path)};    if (!defined($scheme) && !defined($netloc)) {	# it is already relative	return $rel;    }    my($bscheme, $bnetloc, $bpath) = @{$base}{qw(scheme netloc path)};    for ($bscheme, $bnetloc, $netloc) { $_ = '' unless defined }    unless ($scheme eq $bscheme && $netloc eq $bnetloc) {	# different location, can't make it relative	return $rel;    }    for ($path, $bpath) {  $_ = "/$_" unless m,^/,; }    # Make it relative by eliminating scheme and netloc    $rel->{'scheme'} = undef;    $rel->netloc(undef);    # This loop is based on code from Nicolai Langfeldt <janl@ifi.uio.no>.    # First we calculate common initial path components length ($li).    my $li = 1;    while (1) {	my $i = index($path, '/', $li);	last if $i < 0 ||                $i != index($bpath, '/', $li) ||	        substr($path,$li,$i-$li) ne substr($bpath,$li,$i-$li);	$li=$i+1;    }    # then we nuke it from both paths    substr($path, 0,$li) = '';    substr($bpath,0,$li) = '';    if ($path eq $bpath && defined($rel->frag) && !defined($rel->equery)) {        $rel->epath('');    } else {        # Add one "../" for each path component left in the base path        $path = ('../' x $bpath =~ tr|/|/|) . $path;	$path = "./" if $path eq "";        $rel->epath($path);    }    $rel;}1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -