Hallo, > Ulrich Wiederhold ([EMAIL PROTECTED]) fragte: > ich habe in einem Script folgende Zeilen gefunden: > > my $line = shift(@_); #get the argument > $line =~ /:([^!]*)[EMAIL PROTECTED]@[^ ]* [^:]*:(.*)/; > $a = $1; > $b = $2; > > Was ich nicht verstehe...$line enthält doch mehr als 2 Abschnitte und $1 > ist der Anfang, $2 das Ende.... Wie kann ich auf die dazwischenliegenden > Abschnitte zugreifen??? $2,5 ist es bestimmt nicht! > Ich verstehe den Syntax nicht so ganz! > Weiß jemand weiter? > Siehe "Mastering Regular Expressions" von Jeffrey Friedel, zu haben bei O'Reilly.
Bei Perl sind die Klammern der Zwischenspeicher, der die Matches in $1, ... überträgt. -snip- #!/usr/bin/perl -w use strict; my $line =":[EMAIL PROTECTED] noo:rest"; $line =~ /:([^!]*)!([EMAIL PROTECTED])@([^ ]*) ([^:]*):(.*)/; print "\$1=$1\n"; print "\$2=$2\n"; print "\$3=$3\n"; print "\$4=$4\n"; print "\$5=$5\n"; # CERT Advisory AF-2000-04-01 exit or die "exit() failed: $!\n"; -snip- HTH, Thomas ------------------------------------------------ Um sich aus der Liste auszutragen schicken Sie bitte eine E-Mail an [EMAIL PROTECTED] die im Body "unsubscribe debian-user-de <deine emailadresse>" enthaelt. Bei Problemen bitte eine Mail an: [EMAIL PROTECTED] ------------------------------------------------ Anzahl der eingetragenen Mitglieder: 735

