我正在尝试编写一个perl脚本,将test.txt文件中的文件名读入数组,然后根据数组中的文件名删除文件.这是我到目前为止所得到的......
#!/usr/bin/perl
use strict;
use warnings;
open(FILE, "test.txt") or die("Unable to open file.");
my @data = <FILE>;
close(FILE);
foreach my $line (@data){
unlink($line);
}
Run Code Online (Sandbox Code Playgroud)
test.txt和remove_files.pl与要删除的文件位于同一目录中.我无法弄清楚为什么脚本不会删除文件.我错过了一个模块吗?
mob*_*mob 11
使用readline operator(<...>)从文件读取的行将包含换行符.您需要将其删除,否则您将尝试删除一个名为"myfile.txt\n"而不是的文件"myfile.txt".使用Perl的chomp功能修剪输入:
foreach $line (@data){
chomp($line);
unlink($line);
}
Run Code Online (Sandbox Code Playgroud)