Perl正则表达式模式匹配url

时间:2016-03-21 14:37:17

标签: regex perl

我有一个旧的perl代码,我需要通过在apache服务器中调试它来改进它,但它有一些正则表达式,我无法弄清楚我是perl的新手。有人可以解释以下代码的作用吗?

my $target = " ";
$target = $1 if( $url =~ m|^$shorturl(\/.*)$|);

下面, 网址为http://127.0.0.1/test.pl/content/dist/hale_bopp_2.mpg shorturl是http://127.0.0.1/test.pl

2 个答案:

答案 0 :(得分:5)

提取"路径信息" URL的组件,脚本路径之后的路径的额外段。

http://127.0.0.1/test.pl/content/dist/hale_bopp_2.mpg
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

(处理转义字符应该是$target = unescape_uri($1)。)

答案 1 :(得分:-1)

从语言的角度来看,它将$ url与m |中包含的regexp相匹配|如果匹配,将第一次捕获(正则表达式的一部分)放入$ target。