[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: