[Dresden-pm] Frage zu einem regulären Ausdruck

Hans-Dietrich Kirmse hd.kirmse at gmx.de
Sa Jan 23 03:52:57 PST 2010


Hallo,

ich muss euch leider wiedermal behelligen. In einem Script (genauer: in
"a2enmod") fand ich folgende Sequenz, die ich aber nicht wirklich verstehe.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
use File::Basename;

my $basename = basename($0);
$basename =~ /^a2(en|dis)(mod|site)((?:-.+)?)$/
     or die "$basename call name unknown\n";

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

mir geht es dabei um $3 also um den Ausdruck ((?:-.+)?).
Ich weiss zwar, was dieser Ausdruck macht, nämlich den Teil, der hinter
"a2enmod" steht, ermitteln - also das Suffix. Auch der Sinn ist mir klar
(wird bei mehreren Instanzen des Apachen genutzt). Aber mir ist völlig
unklar, was das Fragezeichen und der Doppelpunkt bewirken sollen.

Kann mir das jemand kurz erläutern?

Im Voraus meinen Dank.

Mit freundlichen Grüßen
Hans-Dietrich





Mehr Informationen über die Mailingliste Dresden-pm