Thread 2 Tage alte Dateien in einem Ordner löschen: Alte Dateien sollen gelöscht werden (9 answers)
Opened by sequester01 at 2006-10-02 11:28

renee
 2006-10-03 20:04
#70424 #70424
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
grep liefert eine Liste, deren Elemente der Bedingung in dem Block entsprechen.

readdir liefert diese Liste, die von grep verarbeitet wird.

$_ enthält immer das aktuelle Element aus dieser Liste.

!~ ist die Negation von =~. Man könnte es also auch so schreiben:
Code: (dl )
grep{!($_ =~ /\.\.?$/)}readdir(DIR);


Ich hoffe, dass es dadurch klarer wird.

Der reguläre Ausdruck selbst ist:
Ein Punkt und dann noch ein Punkt oder kein Punkt
also trifft der reguläre Ausdruck auf
.
und
..
zu

Aber ein Fehler habe ich dennoch eingebaut. Richtigerweise müsste der RegEx so heißen:
Code: (dl )
grep{$_ !~ /^\.\.?$/}readdir(DIR);


Lesenswertes zu RegEx:
perlre
perlreref (deutsch)
perlrequick
perlretut

http://www.regenechsen.de
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread 2 Tage alte Dateien in einem Ordner löschen: Alte Dateien sollen gelöscht werden