我有一个旧的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
答案 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。