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
#!/usr/local/bin/perl -w my $Startverzeichnis = 'H:'; my $i = 0; #i entspricht Ordneranzahl my $j = 0; #j entspricht Dateien opendir DIR, $Startverzeichnis or die $!; while( my $entry = readdir DIR ) { if($entry ne "." && $entry ne "..") { if(-d $entry) { print "<", $entry,">"," ist ein Verzeichnis\n"; $i++; } elsif(-f $entry) { print "<", $entry,">", " ist eine Datei\n"; $j++ } print $entry,"\n"; } } print $i, " = Anzahl der Verzeichnisse\n"; print $j, " = Anzahl der Dateien\n"; closedir DIR;
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
#!/usr/local/bin/perl -w my $Startverzeichnis = 'H:'; my $i = 0; #i entspricht Ordneranzahl my $j = 0; #j entspricht Dateien opendir DIR, $Startverzeichnis or die $!; while( my $entry = readdir DIR ) { if($entry ne "." && $entry ne "..") { if(-d "$Startverzeichnis/$entry") { print "<", $entry,">"," ist ein Verzeichnis\n"; $i++; } elsif(-f "$Startverzeichnis/$entry") { print "<", $entry,">", " ist eine Datei\n"; $j++ } print $entry,"\n"; } } print $i, " = Anzahl der Verzeichnisse\n"; print $j, " = Anzahl der Dateien\n"; closedir DIR;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
my $dir = 'Startdir'; list_dir($dir); sub list_dir { my ($current) = @_; opendir my $dirh, $current or die $!; while( ... ) { # wie bei Dir im Programm # . und .. ausschließen if ( -d "$current/$entry" ) { list_dir( "$current/$entry" ); } } closedir $dirh; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
my @dirs = 'Startdir'; while ( @dirs ) { my $current = shift @dirs; opendir my $dirh, $current or die $!; while( ... ) { # wie bei Dir im Programm # . und .. ausschließen if ( -d "$current/$entry" ) { push @dirs, "$current/$entry"; } } closedir $dirh; }