/ / usuwanie plików za pomocą perl - perl, delete-file

usuwanie plików za pomocą perl - perl, delete-file

Próbuję napisać skrypt perla, który odczytuje nazwy plików w pliku test.txt do tablicy, a następnie usuwa pliki oparte na nazwach plików w tablicy.

#!/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);
}

test.txt i remove_files.pl znajdują się w tym samym katalogu, co pliki do usunięcia. Nie mogę zrozumieć, dlaczego skrypt nie usunął plików. Czy brakuje mi modułu?

Odpowiedzi:

11 dla odpowiedzi nr 1

Linie czytane z pliku za pomocą operatora readline (<...>) będzie zawierać znak nowej linii. Musisz go usunąć, w przeciwnym razie będziesz próbował usunąć plik o nazwie "myfile.txtn" zamiast "myfile.txt". Użyj Perla chomp funkcja przycinania danych wejściowych:

foreach $line (@data){
chomp($line);
unlink($line);
}