2014-07-09 13 views
0

我寫了一個示例Perl代碼不工作:使用嚴格;行爲如預期在Perl

use strict; 
use warnings; 
$a=1; 
$b=2; 
if($b==2) { 
    $a=3; 
} 
print $a; 

理想的情況下,當我運行這段代碼,它應該爲「全局符號‘$ A’給出錯誤,需要明確的包名。 ..' 但它沒有給出任何錯誤。它給出輸出爲'3'。 這是爲什麼?據我所知,如果我們使用嚴格的,那麼我們需要定義變量的範圍,否則它會給出一個錯誤。 我理解錯了嗎?

回答

6

$a$b是特殊變量,因此在使用strict時不會出現上升錯誤。

perldoc strict

因爲他們的搜索結果排序方式(專用的),變量$ a和$ b是不應進行檢查。

+0

Heyy ..感謝您的回答。在sort()中使用$ a和$ b。 – user3668231