我對perl剛剛開始學習,當我嘗試爲標量賦值並打印它時,我正面臨問題。我做從windows命令行執行Perl代碼
perl -e "$number=30;"
perl -e "print $number;"
輸出犯規顯示任何東西,但是當我做
perl -e "$number=30; print $number;"
輸出顯示30,爲什麼?
我對perl剛剛開始學習,當我嘗試爲標量賦值並打印它時,我正面臨問題。我做從windows命令行執行Perl代碼
perl -e "$number=30;"
perl -e "print $number;"
輸出犯規顯示任何東西,但是當我做
perl -e "$number=30; print $number;"
輸出顯示30,爲什麼?
此:
perl -e "$number=30;"
運行的Perl程序,它將變量$number
設置爲30,然後不執行任何操作。
此:
perl -e "print $number;"
運行Perl程序print $number;
,打印的未初始化的變量$number
的值。
關鍵是,由於這些是兩個完全獨立的Perl程序,因此第一個程序中的變量$number
與第二個程序中的變量$number
之間沒有連接。這兩個程序之間沒有關係,它們之間也沒有通信,所以它們不能也不能共享任何變量。
當你執行:
perl -e "$number=30;"
perl -e "print $number;"
這是兩個獨立的過程,所以他們不共享信息。第二個命令不能使用變量$號。
另一種:
perl -e "$number=30; print $number;"
的作品,因爲它運行在相同的執行,以及$號是可見的下一個打印一句
謝謝你......即使我有同樣的懷疑只是想確認.. – haris
多一個問題raukh我可以做這樣的事情$ number = 30; $ result =「這是」+「$ number」;打印「$結果」; – haris
這很容易:$ result =「這是$ number」 –
@haris:是的,但是連接運算符是'.'而不是'+':'$ result ='這是'。 $ number'。 (或者只是'$ result =「這是$ number」'。) – ruakh