Re: [Debian]:Perl
Hallo,
> Ulrich Wiederhold (U.Wiederhold@gmx.net) fragte:
> ich habe in einem Script folgende Zeilen gefunden:
>
> my $line = shift(@_); #get the argument
> $line =~ /:([^!]*)![^@]*@[^ ]* [^:]*:(.*)/;
> $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 =":foo!baz\@bar noo:rest";
$line =~ /:([^!]*)!([^@]*)@([^ ]*) ([^:]*):(.*)/;
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 majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder: 735
Reply to: