Leser: 1
![]() |
![]() |
6 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/local/bin/perl
use File::Copy;
use Cwd;
use FileHandle;
open(DATEI,"<pfade.txt");
while($zeile=<DATEI>)
{
push(@patharray,$zeile);
}
close(DATEI);
for($i=0;$i<@patharray;$i++)
{
$srcPath = "@patharray[$i]";
opendir(inVERZ, $srcPath) || die "Verzeichnis ".$srcPath." nicht gefunden $!";
Anweisung
closedir(inVERZ);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#! /usr/bin/perl
# so sollte jedes perl script beginnen; hilft ungemein bei der fehlersuche
use warnings;
use strict;
# Dateinamen immer in einer Variable speichern, dann kann man die in
# fehlermeldungen recyclen
my $file = "pfade.txt";
# bei einem open immer Fehler abfangen:
open (DATEI, "<", $file) or die "Error in opening '$file': $!\n";
# dateiinhalt kann man gleich in ein array einlesen
my @patharray = <DATEI>;
# am ende des arrays stehen jedoch noch zeilenumbrueche; das duerfte
# wohl dein problem sein
chomp(@patharray);
close(DATEI);
# wenn du den schleifenindex nicht benutzt, warum dann einen verwenden?
# falls doch, finde ich for my $i (0..$#patharray) { besser lesbar
for my $dir (@patharray) {
# als file/dirhandles immer grossbuchstaben verwenden ist sicherer und
# wird auch von warnings nicht angemeckert
opendir (INVERZ, $dir) or die "Verzeichnis '$dir' nicht gefunden: $!\n";
# ....
closedir(INVERZ);
chomp(@patharray);
@patharray = map { s!\r?\n$!!g; $_ } @patharray;
![]() |
![]() |
6 Einträge, 1 Seite |