perl - 从 URL 列表中删除仅顶级目录的 URL?

标签 perl url

我有一个难以研究的问题,因为我不知道如何在搜索引擎上正确提问。

我有一个 URL 列表。我希望有一些自动化的方式(首选 Perl)来浏览列表并删除所有仅作为顶级目录的 URL。

所以例如我可能有这个列表:

http://www.example.com/hello.html
http://www.foo.com/this/thingrighthere.html

在这种情况下,我想从我的列表中删除 example.com,因为它要么只是顶级目录,要么它们引用顶级目录中的文件。

我正试图弄清楚如何做到这一点。我的第一个想法是,计算正斜杠,如果有两个以上,从列表中删除 URL。但是你有尾随斜杠,所以这是行不通的。

任何想法或想法将不胜感激。

最佳答案

类似这样的:

use URI::Split qw( uri_split ); 
my $url = "http://www.foo.com/this/thingrighthere.html";
my ($scheme, $auth, $path, $query, $frag)  = uri_split( $url );
if (($path =~ tr/\///) > 1 ) {
    print "I care about this $url";
}

http://metacpan.org/pod/URI::Split

关于perl - 从 URL 列表中删除仅顶级目录的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14146451/

相关文章:

php - 带有特殊字符的文件名,如 "é"NOT FOUND

javascript - 更改哈希值时重新加载页面

javascript - 带有#hash URL(或其他)的选项卡中的目标选项卡

asp.net - IIS 7.x中URL中的“+”符号问题

perl - 区分perl中的字符串和数字参数

windows - 将在 Windows 或 Linux 下运行的 Perl 序言

perl - Perl中不规则文本文件的解析

perl - 为什么我的 Perl 脚本没有使用所有 CPU 内核?

php - #!在 url 中使网页行为奇怪

list - 如何在测试用例的多行列表初始化程序中获取当前行号?