Leser: 25
|< 1 ... 3 4 5 6 7 >| | 61 Einträge, 7 Seiten |
2013-02-20T11:06:40 schmetterlingich möchte die FileListe beschränken, indem ich mit m// sagen, dass er nur Dateien listen soll, die XA heißen.
1.ich habe zig Muster probiert, aber es werden auch Dateien namens XA.txt und XA.utf8 gezeigt. Was ist überhaupt die Endung von Dateien , die keine Endung haben und in deren Eigenschaften unter Dateityp nur "Datei" steht?
2013-02-20T11:06:40 schmetterling2.dieser Code ist, so wie ich verstanden habe, nur für ein Verzeichnis mit Unterverzeichnisse geeignet, die keine Unterverzeichnisse mehr haben.
Was ist , wenn ich nicht weiß, wie viele Unterverzeichnisse jedes Unterverzeichnis hat? Dass opendir() solange läuft, bis es kein Dir mehr gibt?
2013-02-20T11:06:40 schmetterling3.opendir(my $DirHandle, $Dir)
an einigen Stellen steht als Filehandle eine Variable und an anderen nur z.B. DIR. Gibt es einen Unterschied? sollte man lieber wie "my $DirHandle" schreiben oder geht auch nur DIR ?
2013-02-20T11:06:40 schmetterling2.dieser Code ist, so wie ich verstanden habe, nur für ein Verzeichnis mit Unterverzeichnisse geeignet, die keine Unterverzeichnisse mehr haben.
Was ist , wenn ich nicht weiß, wie viele Unterverzeichnisse jedes Unterverzeichnis hat? Dass opendir() solange läuft, bis es kein Dir mehr gibt?
Guest wer"Rekusion" ist das Stichwort
QuoteVermutlich hast du deine Muster nicht am Stringende verankert. Zeig doch mal ein paar deiner Versuche, dann können wir schnell sagen, was nicht stimmt.
QuoteWas meinst du mit an einigen Stellen? Bestimmt nicht die opendir-Variante von topeg. topeg tut so etwas nicht.
QuoteDabei mußt Du das Modul "File::Find" verwenden, das ist jedenfalls der einfachste Weg.
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
31
32
33
34
35
36
37
38
use strict;
use warnings;
my $Dir='C:/1';
&opdir();
sub opdir{
opendir (my $DirHandle,$Dir) or die "dir nicht gefunden\n";
while(my $Filename = readdir($DirHandle))
{
next if($Filename eq '.' or $Filename eq '..');
if(-d $Dir.'/'.$Filename)
{
my $SubDir = $Dir.'/'.$Filename;
&opdir($SubDir);
}
elsif(-f $Dir.'/'.$Filename)
{
my $File = $Dir.'/'.$Filename;
&opfile($File);
}
}
}
sub opfile{
open (my $FileHandle,$Dir) or die "file nicht gefunden\n";
while (my $zeile = <$FileHandle>)
{
print "$zeile\n";
}
}
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
use strict;
use warnings;
my $Dir='C:/1';
opdir($Dir);
sub opdir{
my ($Dir) = shift;
opendir (my $DirHandle,$Dir) or die "dir nicht gefunden\n";
while(my $Filename = readdir($DirHandle))
{
print "Filename='$Filename'\n";
next if($Filename eq '.' or $Filename eq '..');
if(-d $Dir.'/'.$Filename)
{
my $SubDir = $Dir.'/'.$Filename;
opdir($SubDir);
}
elsif(-f $Dir.'/'.$Filename)
{
my $File = $Dir.'/'.$Filename;
opfile($File);
}
}
}
sub opfile{
my ($File) = shift;
print "File: $File\n";
#return;
open (my $FileHandle,$File) or die "file '$File' nicht gefunden: $!\n";
open (my $Schreiben,'>',"C:/geaendert/mytext.txt") or die "kann nicht schreiben $!\n";
while(my $zeile = <$FileHandle>)
{
#chomp;
#print "$zeile\n";
$zeile=~ s/l/*/g;
print "$zeile\n";
print $Schreiben "$zeile\n";
}
}
|< 1 ... 3 4 5 6 7 >| | 61 Einträge, 7 Seiten |