require 5.22.2;
$_ =
"hello perl \n";
print;
CANDIDATE:
for my
$candidate (
2 ..
100 ) {
for my
$divisor (
2 .. sqrt
$candidate ) {
next CANDIDATE
if $candidate %
$divisor ==
0;
}
print $candidate.
" is prime\n";
}
Numeric String Meaning
== eq equal
!= ne not equal
< lt less than
> gt greater than
<= le less than
or equal
>= ge greater then
or equal
eg.
12.0 ==
12 TRUE
"12.0" ==
12 TRUE
"12.0" eq
12 FALSE
2 <
3 TRUE
2 lt
3 TRUE
12 >
3 TRUE
12 gt
3 FALSE
"foo" ==
"" TRUE
"foo" eq
"" FALSE
"foo" ==
"bar" TRUE
"foo" eq
"bar" FALSE
最后的例子中有一个陷阱,如果你获得一个用户输入,然后小心翼翼的删除换行符,最后检查给定的字符串是否为空。
use strict;
use warnings;
use 5.010;
print "input: ";
my $name = <STDIN>;
chomp $name;
if (
$name ==
"" ) {
say "TRUE";
}
else {
say "FALSE";
}
如果执行这个脚本的时候输入”abc”则会返回TRUE,就好象Perl将”abc”看作空字符串处理。