2011-11-02 76 views
1

是否有Perl命令可以讓我獲得任何給定二進制文件支持的最低操作系統?Perl:獲取二進制文件的最低支持操作系統

您可以通過運行「link/dump/headers [binaryFile]」並查找「子系統版本」鏈接來手動獲取該信息。我不想使用它,因爲它的性能非常差。

感謝

+0

Erm,因爲Perl是一種解釋型語言,你是指「Perl中的二進制文件」是什麼意思?你的意思是一個Perl程序通過類似PAR :: Packer(http://search.cpan.org/~rschupp/PAR-Packer-1.010/lib/PAR/Packer.pm)與解釋器打包在一起嗎? – 2011-11-02 16:58:43

+0

感謝您的反饋。問題已更新 –

回答

5

如果您需要Windows版本,請使用Win32::Exe中的get_manifest。您需要先安裝它。

+3

+1;另請參閱:http://stackoverflow.com/questions/1418855/how-can-i-read-the-headers-from-a-winnt-portable-executable-file-using-perl – jwd

3

如果有一個命令,得到你想要的,爲什麼不直接運行該命令?

您可以使用backticks or qx//在Perl中得到一個命令的輸出

如:

my $output = `command arg1 arg2 ...`; 

或者,如果你想行的數組:

my @lines = `command arg1 arg2 ...`; 

然後你可以使用Perl的普通設備,用於掃描您感興趣的圖案的輸出。

此外,你的命令看起來像它是Windows - 這是真的嗎?如果是這樣,你應該添加一個Windows標記。

+0

我嘗試了鏈接命令,但perf非常糟糕,這就是爲什麼我正在尋找替代品 –