Thread Anzahl von Subordnern in Hauptordner beschränken
(13 answers)
Opened by donlenardo at 2012-07-02 15:56
Außerdem solltest du das etwas anders nutzen:
Code (perl): (dl
)
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 #... # im code: unless( shorten_dir($dirResults, $maxRes) ) { print "\n\nERROR, Probleme beim löschen von Ordnern in $dirResults\n"; } #... # Pack die Funktionen hinten an den Code # sie brauchen nicht an der Stelle zu stehen, an denen du sie aufrufst. ################################################################################## # Funktionen ##################################################################### ################################################################################## sub shorten_dir { my $dir = shift; my $max = shift; return 0 unless( opendir(my $dh, $dir) ); my @dirs = sort{$b->[1] <=> $a->[1]} map {[$_, -M $_]} grep {-d $_} map {"$dir/$_"} readdir($dh); closedir($dh); my $ok=1; while(@dirs>$max) { $ok=0 unless( remove_dir(shift(@dirs)->[0]) ); } return $ok; } sub remove_dir { my $dirDel=shift; return 1 unless(-d $dirDel); # brauchst du nicht, # es ist schon ein vollständiger Pfad # chdir(".$dirResults"); return 0 unless( system ('rm', '-rf', $dirDel)==0 ); print "\n\nOK, Verzeichnis ".$dirDel." geloescht!\n"; return 1; } Edit: Kommentarzeichen vergessen. Last edited: 2012-07-03 15:34:37 +0200 (CEST) |