我有一個腳本foo.pl,其sheebang行指向Perl 5.6二進制文件。 foo.pl「需要另一個腳本bar.pl,該腳本擁有帶有5.10版本的sheebang行。Perl 5.6腳本需要(調用)Perl 5.10腳本
有沒有人遇到過這種情況?任何幫助,將不勝感激。
P.S.由於項目中存在依賴關係,因此無法將使用5.6的腳本更改爲最新的Perl版本。所以,我需要和那裏的一切生活在一起。
我有一個腳本foo.pl,其sheebang行指向Perl 5.6二進制文件。 foo.pl「需要另一個腳本bar.pl,該腳本擁有帶有5.10版本的sheebang行。Perl 5.6腳本需要(調用)Perl 5.10腳本
有沒有人遇到過這種情況?任何幫助,將不勝感激。
P.S.由於項目中存在依賴關係,因此無法將使用5.6的腳本更改爲最新的Perl版本。所以,我需要和那裏的一切生活在一起。
bar.pl shebang中的前導散列(#)將使foo.pl'require'bar.pl.中的該行看起來像註釋。
你應該沒有問題。
Perl實際上處理'#!'行,所以聲稱它被忽略,因爲註釋不成立。嘗試創建一個包含'#!/ bin/echo foo'的文件,然後使用'perl script.pl'運行該腳本。或者嘗試創建一個包含'#!/ usr/bin/perl -w'的文件,並注意即使在使用'perl script.pl'運行該腳本時警告也是如此。 – ikegami
好吧,廢話。我的回答被撤回。 –
您實際上可以通過刪除它來取消它。 –
對'需要'一個腳本沒有意義。 ['do'](http://perldoc.perl.org/functions/do.html)應該用於沒有'package'的文件。 – ikegami
請注意,在shebang中指向5.10安裝Perl並不會使其成爲「Perl 5.10腳本」。這隻意味着如果系統要求執行該腳本,系統將使用該Perl安裝。 – ikegami
我想知道的是,「被調用」的腳本是否會使用Perl 5.6或5.10編譯? – Gentle