Perl将在这种情况下进行比较?

Yan*_*ang 1 perl operators

只是对这种比较感兴趣,任何线索?

假设有两个变量如下:

$p1 = "2013-01-11/2013-01-04";
$p2 = "2013-01-12/2012-01-05";
Run Code Online (Sandbox Code Playgroud)

如果像Perl中的代码一样,

if $p1 lt $p2
Run Code Online (Sandbox Code Playgroud)

Perl将采取什么比较以及如何进行比较?

Sum*_*Tea 7

lt 是字符串比较运算符,它比较字面意义上的两个操作数.

在你的情况下,两个字符串

2013-01-11/2013-01-04
||||||||||
2013-01-12/2012-01-05
Run Code Online (Sandbox Code Playgroud)

将以图示的方式进行比较,并停在第9个位置(第一个位置字符不同,也注意字符串索引从0开始),即1in $p12in $p2.而且1还不到2字面意思.这$p1 lt $2是真的.