Mit
[ ] werden Zeichenklassen eingegrenzt also eine Menge von Zeichen. Eine Menge von Zeichen ist auch \w, also erweiterst Du die Menge \w mit dem Leerzeichen. Eine Zeichenklasse steht für ein Zeichen, mit den Wiederholungsfaktoren ? * + oder {2,5} kannst Du bestimmen wie oft der Ausdruck davor vorkommen darf.
( ) sind speichernde Klammern.
Gruppierende Klammern sehen wie folgt aus:
(?: )
Gruppierende Klammern machen auch Sinn, die Wiederholungsfaktoren auch einen größeren Bereich des Ausdrucks anzuwenden. Weil Du viele Gleichheiten in Deinem Ausdruck hast, kannst Du effektiv gruppierende Klammern einsetzen.
Was ich aber immer noch nicht verstehe, warum braucht man für so etwas einen regulären Ausdruck? Split verwendet doch auch einen kleinen regulären Ausdruck, das Trennzeichen eben.\n\n
<!--EDIT|steffenw|1073333201-->
$SIG{USER} = sub {love 'Perl' or die};