【字符串匹配】
则表达式-regular expression
规则表达式包含在斜线内,匹配通过=~操作符进行。如果字符串the出现在变量$sentence中,则下面的表达式为真:
$sentence =~ /the/
RE是大小写敏感的,所以如果
$sentence = "The quick brown fox";
那么上面的匹配结果为false。
$TestStr = " Contains a test ! " ;
if ( $TestStr = ! ~/ test / )
{
print ( " Contain ! " );
}
else
{
print ( " No contain ! " );
}
> No contain !
下面是一些特殊的RE字符和它们的意义:
. # Any single character except a newline ^ # The beginning of the line or string $ # The end of the line or string * # Zero or more of the last character + # One or more of the last character ? # Zero or one of the last character
1. $$
perl -e "sleep(5);print qq(The PID of process perl.exe is : $$)"; # 命令行运行, $$是当前perl解析器的进程ID(即,PID).
> The PID of process perl.exe is : 1871
2. $_.
@FruitList
=
(
"
Apple
"
,
"
Pear
"
,
"
Orange
"
,
"
Peach
"
);
foreach ( @FruitList )
{
print $_ . " \n " ;
}
foreach ( @FruitList )
{
print $_ . " \n " ;
}
> Apple
Pear
Orange
Peach
在程序第五行中:foreach (@array) 实际上就是等于 foreach $_ (@array),在这里,$_是默认是输入/输出,因此,如果在程序中有类似的没有明确声明的变量位置的时候,就有可能能使用$_代替。