只是對這種比較感興趣,任何線索?在這種情況下,Perl會用什麼來比較?
說,有兩個變量如下:
$p1 = "2013-01-11/2013-01-04";
$p2 = "2013-01-12/2012-01-05";
如果像下面在Perl代碼,
if $p1 lt $p2
什麼Perl將採取比較又如何呢?
只是對這種比較感興趣,任何線索?在這種情況下,Perl會用什麼來比較?
說,有兩個變量如下:
$p1 = "2013-01-11/2013-01-04";
$p2 = "2013-01-12/2012-01-05";
如果像下面在Perl代碼,
if $p1 lt $p2
什麼Perl將採取比較又如何呢?
lt
是字符串比較運算符,它比較兩個操作數的字面意義。
在你的情況下,兩個字符串
2013-01-11/2013-01-04
||||||||||
2013-01-12/2012-01-05
將在圖示的方式進行比較,並停止在第9位(第一個位置的字符是不同的,還要注意字符串索引從0開始),即1
在$p1
和2
的$p2
中。字面上也1
小於2
。所以$p1 lt $2
是真的。
打破你的任務:
if $p1 < $p2
這個問題:
Convert string "20-May-07" to date and manipulate
會給你一些線索
非常容易理解的答案。謝謝。 – Yang