/ / eliminazione di file con perl - perl, delete-file

eliminazione di file con perl - perl, delete-file

Sto cercando di scrivere uno script perl che legge i nomi dei file in un file test.txt in un array, e quindi elimina i file in base ai nomi dei file nell'array. Ecco cosa ho ottenuto finora ...

#!/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 e remove_files.pl si trovano nella stessa directory dei file da rimuovere. Non riesco a capire perché lo script non toglie i file. Mi manca un modulo?

risposte:

11 per risposta № 1

Linee lette da un file con l'operatore di readline (<...>) includerà il carattere di nuova riga. Dovrai rimuoverlo, altrimenti tenterai di eliminare un file chiamato "myfile.txtn" invece di "myfile.txt". Usa Perl "s chomp funzione per tagliare il tuo input:

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