Thread File::remove: need example (22 answers)
Opened by honky at 2006-05-23 15:04

Thorium
 2006-05-23 15:12
#66519 #66519
User since
2003-08-04
232 Artikel
BenutzerIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
    use File::Remove qw(remove);

# removes (without recursion) several files
remove qw( *.c *.pl );

# removes (with recursion) several directories
remove \1, qw( directory1 directory2 );

# removes (with recursion) several files and directories
remove \1, qw( file1 file2 directory1 *~ );

# trashes (with support for undeleting later) several files
trash qw( *~ );


Dein Beispiel macht keinen Sinn...
\1 bedeutet, dass du rekursiv löschst - bei nur einer Datei musst du nicht rekursiv löschen - das macht den Operator nur unleserlich. (Nebenbeibemerkt ist die Abhandlung des Moduls ziemlich schäbig).

qw() heisst quote words, es ist ein Operator welcher also alle nachstehenden Wörter als Elemente eines anonymen Arrays ansieht. Dein Element ist nun 'C:\data\bla' (inclusive '), was du sicherlich nicht willst.
Was du willst ist das:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use warnings;
use strict;
use File::Remove qw(remove);

sub deletefile {
my $filename = shift;

unless ($filename) {
warn "deletefile: Kein Filename angegeben";
return;
}

unless (-f $filename) {
warn "deletefile: '$filename' existiert nicht";
return;
}

unless ( remove($filename) ) {
warn "deletefile: Konnte '$filename' nicht löschen: $!";
return;
}

return 1;
}
\n\n

<!--EDIT|Thorium|1148383021-->
Per|li|nist der; -en, -en <zu ↑...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.

View full thread File::remove: need example