如何在Windows上的perl中调用winrar

时间:2010-04-05 16:38:59

标签: windows perl compression winrar

是否可以在Windows系统上通过perl调用winrar,例如

perl -e“rar a -rr10 -s c:\ backups \ backup.rar @ backup.lst”

如果是这样,有没有更有效的方法呢?

我在google上查找了“perl -e”+ winrar,但是没有一个结果给了我任何远离我所寻找的答案。运行此系统的系统是Windows XP系统。如果它更容易,我可以用python这样的另一种语言来做这个,但是我更喜欢perl。

3 个答案:

答案 0 :(得分:4)

您可以使用CPAN模块Archive::Rar访问Windows中的RAR工具:

use Archive::Rar;
my $rar = Archive::Rar->new(-archive => $archive_filename);
$rar->Extract();

答案 1 :(得分:2)

从Perl脚本执行外部命令的一种方法是使用system

my $cmd = 'rar a -rr10 -s c:\backups\backup.rar @backup.lst';
if (system $cmd) {
    print "Error: $? for command $cmd"
}

答案 2 :(得分:1)

要使用Perl程序中的外部应用程序,请使用system内置程序。

如果需要命令的输出,可以使用perlop中讨论的反引号(``)或qx运算符。您也可以使用perlipc中讨论的管道。