2011-11-02 28 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非常糟糕,这就是为什么我正在寻找替代品 –