Thread files a nach files b kopieren (8 answers)
Opened by Rambo at 2006-01-18 17:26

Strat
 2006-01-18 17:52
#62030 #62030
User since
2003-08-04
5246 articles
ModeratorIn
[Homepage] [default_avatar]
das gibt probleme, weil
1. readdir auch verzeichnisse zurueckgibt, und die kann man mit File::Copy nicht so einfach kopieren, sondern muss sie - wenn gewuenscht - explizit anlegen
2. es im beispiel egal zu sein scheint, ob der kopiervorgang erfolgreich war oder fehlgeschlagen ist.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use File::Copy;
my home_dir = getcwd . "/files";

opendir (my $DIR, $home_dir) or die "Error: couldn't open dir $home_dir: $!\n";
FILE:
while (my $file = "$home_dir/" . readdir($DIR) ) {

# ueberspringe verzeichnisse, links, ... nur wirkliche dateien nicht
next FILE unless -f $file;

# ersetze das erste vorkommen von 2005 durch 2006
(my $newFile = $oldFile) =~ s/2005/2006/;

# versuche zu kopieren
copy($oldFile, $newFile) or
die "Error: couldn't copy '$oldFile' => '$newFile': $!\n";

} # while
closedir $DIR;

nicht getestet
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread files a nach files b kopieren