Schrift
[thread]7930[/thread]

RegEx verstehen: aus Strats Sig



<< >> 7 Einträge, 1 Seite
bloonix
 2006-04-28 11:04
#65381 #65381
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Hallo zusammen,

Code: (dl )
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"


die RegEx in Strats Signatur hat mir gestern ziemliche Kopf-
schmerzen bereitet, weil ich an so ein Konstrukt bislang noch
nicht geraten war. Ich habe also mal ein wenig nachgelesen
und versucht, sie zu verstehen.

Zuerst habe ich sie einmal so formuliert, dass sie für mich
lesbarer war ...

Code: (dl )
1
2
3
s//*erlco'unaty.'.dk'/e;
y/*kn:ai/penmic/;
print "$_\n";


Was ich hierran nun nicht ganz verstehe ist

Code: (dl )
/*erlco'unaty.'.dk'/e


/e heißt doch eval, aber was wird hier evaluiert?

Wenn ich das ganze wie folgt ausführe

Code: (dl )
1
2
s//*erlco'unaty.'.dk'/e;
print "$_\n";


dann kommt folgendes heraus:

*erlco::unaty.dk

und genau das verstehe ich nicht. Der Rest ist mir soweit klar,
obwohl ich nicht weiß, wofür das i im Suchteil und das c im
Ersetzungteil von

Code: (dl )
y/*kn:ai/penmic/;


gut sein soll, denn "perlcommunity.de" kommt bei mir auch
ohne das i und c heraus.

Greez,
opi\n\n

<!--EDIT|opi|1146208128-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
renee
 2006-04-28 11:20
#65382 #65382
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das Flag e wird benötigt, um aus dem ersten ' ein Doppelpunkt zu machen. Ich weiß nicht ob es deshalb gemacht wird, aber das ' ist auch in Modulnamen erlaubt (oder war es zumindes mal - Daher gab es mal Don't.pm). und das .'.dk' ist eine String-Konkatenation. Die muss ja auch evaluiert werden...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
bloonix
 2006-04-28 12:00
#65383 #65383
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=renee,28.04.2006, 09:20]und das .'.dk' ist eine String-Konkatenation. Die muss ja auch evaluiert werden...[/quote]
ok, für mich hätte es so ausgesehen, als hätten die ' ebenfalls
durch :: ersetzt werden müssen, aber durch den Punkt vor
dem Hochkomma wird wohl die Konkatenation ausgelöst und
'.dk' wird nicht interpoliert.

Danke Renee. Kennst du eine Seite, wo das mit dem ' und ::
nochmal genau beschrieben ist?
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
lichtkind
 2006-04-28 17:23
#65384 #65384
User since
2004-03-22
5680 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
renee hat recht. in perl5 (nicht mehr in perl6) kann man madulnamespaces auch mit ' trennen wodurch ein ' zu :: evaluiert wird das zu 'mm' ersetzt wird.

hatte die sig selber mal auseinandergenommen.

wiki wiki wiki (wär doch auch ein thema)\n\n

<!--EDIT|lichtkind|1146230680-->
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Strat
 2006-04-28 22:05
#65385 #65385
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
CPAN:Acme::Don't\n\n

<!--EDIT|Strat|1146247591-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
lichtkind
 2006-04-28 22:38
#65386 #65386
User since
2004-03-22
5680 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
Code (perl): (dl )
1
2
3
4
5
6
7
package Acme::Don::t;

$VERSION = '1.01';

sub don't (&) {}

1;


haha was für ein quellcode
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Strat
 2006-04-28 23:24
#65387 #65387
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ist aber ein nettes modul... da kann man anstelle von do { ... }; mal zum testen don't { ... }; schreiben...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 7 Einträge, 1 Seite



View all threads created 2006-04-28 11:04.