我有一種情況,我期望將變量作爲字符串或數字傳遞給我。將Perl字符串評估爲零僅適用於數字
即
sub foo {
# These can be either strings or numbers
my ($bar, $var, $star) = @_;
# I need to check to see if $bar is the number 0 (zero)
if ($bar == 0) {
# Do super magic with it
}
}
不幸的Perl試圖做$bar
超級魔法時,它包含一個字符串。
我如何告訴Perl在$bar
上做超級魔法當且僅當它是號碼 0(零)?
我知道Perl基於上下文的基本解釋,這是這裏的基本問題。這個問題的一個可能的解決方案是使用正則表達式,這很好,但我想知道是否有另一個更「直接」的解決方案。
在此先感謝。
1)你能舉出與超級魔法相匹配的事物嗎? 2)你可以使用字符串相等運算符'eq'嗎?這將捕獲$ bar等於'0'的位置,並且將忽略,但不包括'0.0'或'00'等其他形式。 – 2012-07-09 15:06:20