so noch ein problem was ich gerne lösen würde aber nicht schaffe...
my $what = "txt";
my $akt_verz =pwd
;
pwd gibt einen String zurück und hängt ein Leerzeichen dran?
(ich kenne das Programm nicht)
my $Verzeichnis = "./";
my $URIVerzeichnis = "$Verzeichnis";
hier brauchst du keine Anführungszeichen.
opendir(DIR, $Verzeichnis) || die "$Verzeichnis: $!";
foreach my $dat (@Dateien) {
if($dat =~ /.+.$what*/) {
hier reicht:
if($dat =~ /.$what$/) {
Das * dürfte sogar falsch sein, da es bedeitet du suchst nach $what null oder mehrmals.
$c ++;
$c++;
next unless -f $dat;
my $fileSize = -s _;
Warum _? Tippfehler?
Es müßte eigentlich:
"$Verzeichniss$dat" sein. Denk daran opendir wechselt nicht das Verzeichniss.
if (-d $dat) {
foreach my $dat (@Dateien) {
if (-d $dat) {
chdir($akt_verz.'/'.$dat);
opendir(DIR, $akt_verz.'/'.$dat);
print "$akt_verz.'/'.$dat";
Hier kannst du im gegensatz zu oben doppelte anführungszeichen nehmen:
"$akt_verz/$dat" finde ich persönlich schöner
Struppi.