2013-11-25T10:10:49
Speedriff$part = ~s/^(.*\/).*$/\1/g; # Das ist Magie... ;-)
die Klammern werden genutzt, um das darin enthaltene später als $1 bzw \1 verwenden zu können, für den Suchausdruck haben sie hier keinen Einfluss.
. steht für ein beliebiges Zeichen
* steht für beliebig viele Zeichen (von denen, die vorangingen)
.* ist also "beliebig viele beliebige Zeichen"
dann kommt ein /, der escapt werden muss weil der Ausdruck ja auch von / umschlossen ist.
dann kommt wieder .*, in Worten ausgedrückt lautet der Ausdruck also
"Fange am Anfang an. Finde beliebig viele beliebige Zeichen bis ein Slash auftaucht und speichere sie in $1, danach kommen noch mal beliebig viele beliebige Zeichen bis zum Ende. Nun ersetze den ganzen String durch das in $1 gespeicherte."