定义了文件的目录。
我希望使用7z的'test‘命令获得'test’值。
foreach $str0 (glob "*.zip"){
my $test = system( "7z t -y $str0");
print $test;
}如何获得'7z测试‘值?
编辑:
你是说用qx代替系统吗?
你是认真的对吗?
foreach $str0 (glob "*.zip"){
my $test = qx/7z t -y $str0/;
print $test;
}或
foreach $str0 (glob "*.zip"){
my $test = `7z t -y $str0`;
print $test;
}我两者都试过了,但我无法得到‘测试值’。
发布于 2022-03-08 02:30:05
在Perl中至少有三种方法可以做到这一点;qx和backticks方法基本上是相同的,除了qx之外,您可以选择使用什么分隔符来启动/结束字符串。使用'作为分隔符可以防止变量内插。
第三种方法是使用open将管道打开到7zip。
#with qx
my $test = qx/7z t -y $str0/;
#with backticks
my $test = `7z t -y $str0`;
#with open
open my $pipe, '-|', '7z', 't', '-y', $str0;
my $test = join "\n", readline $pipe;
close $pipe;https://stackoverflow.com/questions/71388905
复制相似问题