這個問題可能很愚蠢。但我剛開始探索Perl。我正在使用Perl v5.16.2。我知道在5.10中已經引入了say
聲明。爲什麼我應該在使用say函數時指定使用語句?
#!/usr/bin/perl
say "Hello World!";
當我嘗試上述程序運行,我收到以下錯誤:
$ ./helloPerl
String found where operator expected at ./helloPerl line 3, near "say "Hello World!""
(Do you need to predeclare say?)
syntax error at ./helloPerl line 3, near "say "Hello World!""
Execution of ./helloPerl aborted due to compilation errors.
但是,當我加入的聲明use 5.016;
,它給我正確的輸出。
#!/usr/bin/perl
use 5.016;
say "Hello World!";
我的疑問是,我使用的是perl v5.16.2,它是5.010以上。爲什麼要在這裏使用use
聲明提到Perl版本?
我想指出的是,這在以前是語法錯誤,一些功能可能不需要'use'語句啓用。 –
我認爲你的意思是's/pattern/newpattern/r'和'$ var // 0'類型的東西?對,那是正確的。他們不打算向後兼容。你仍然可以通過'use'強制執行一個最低版本的perl版本(如果你正在做一些依賴於版本的版本,可能應該這樣做) – Sobrique