为什么我使用Perl的分割功能不分裂?

Phi*_*son 1 html perl split

我正在尝试将HTML文档拆分为其头部和正文:

my @contentsArray = split( /<\/head>/is, $fileContents, 1);
if( scalar @contentsArray == 2 ){
    $bodyContents = $dbh->quote(trim($contentsArray[1]));
    $headContents = $dbh->quote(trim($contentsArray[0]) . "</head>"); 
}
Run Code Online (Sandbox Code Playgroud)

就是我拥有的.$fileContents包含HTML代码.当我运行它时,它不会分裂.谁知道为什么?

yst*_*sth 6

要拆分的第三个参数是要生成多少结果,因此如果只想应用表达式一次,则会传递2.

请注意,这实际上限制了模式用于拆分字符串的次数(比传递的数量少一个),而不仅仅限制返回的结果数,因此:

print join ":", split /,/, "a,b,c", 2;
Run Code Online (Sandbox Code Playgroud)

输出:

a:b,c
Run Code Online (Sandbox Code Playgroud)

不:

a:b
Run Code Online (Sandbox Code Playgroud)