[done]perl/ regex / variable matchen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
area2051
Beiträge: 45
Registriert: 22.07.2006 13:35:41

[done]perl/ regex / variable matchen

Beitrag von area2051 » 31.08.2006 18:51:23

Hallo Forum,

kann mir einer sagen, wie ich eine Variable matche?

also z.b.
hat eine Variable $test den inhalt: $test="Mark";
dieser Wert kann sich aber ändern zu einem Wert, den ich vorher nicht kenne!
wie kann ich denn dann prüfen, ob:
z.b. $othervariable=~/prüfe ob der Wert von $test enthalten ist/ ?
ggf. falsches Forum - aber da hier bestimmt viele Progger sind, dürfte das ja auch geklärt werden können, oder??? ;-) *hoff* zudem hab ich keine lust mich überall anzumelden, wenn mir doch ein Forum so gut gefällt ;-)


Gruß
Mark
Zuletzt geändert von area2051 am 18.09.2006 13:55:47, insgesamt 1-mal geändert.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 31.08.2006 22:30:28

könnte sein, daß ich dein Problem nicht ganz verstanden habe:

Code: Alles auswählen

# case sensitive:
gms@gms1:~$  perl -e '$test=shift; $cmp=quotemeta($test); foreach $other (@ARGV) { print "\"$test\" ist in \"$other\" ", $other =~ /$cmp/ ? "enthalten" : "nicht enthalten","\n"; }' Mark Tomatenmark Marker markis
"Mark" ist in "Tomatenmark" nicht enthalten
"Mark" ist in "Marker" enthalten
"Mark" ist in "markis" nicht enthalten

# case insensitive:
gms@gms1:~$  perl -e '$test=shift; $cmp=quotemeta($test); foreach $other (@ARGV) { print "\"$test\" ist in \"$other\" ", $other =~ /$cmp/i ? "enthalten" : "nicht enthalten","\n"; }' Mark Tomatenmark Marker markis
"Mark" ist in "Tomatenmark" enthalten
"Mark" ist in "Marker" enthalten
"Mark" ist in "markis" enthalten

#quotemeta escaped die regular expression meta characters:
gms@gms1:~$  perl -e '$test=shift; $cmp=quotemeta($test); foreach $other (@ARGV) { print "\"$test\" ist in \"$other\" ", $other =~ /$cmp/i ? "enthalten" : "nicht enthalten","\n"; }' 'M*' 'MM' '*M*'
"M*" ist in "MM" nicht enthalten
"M*" ist in "*M*" enthalten

Gruß
gms

area2051
Beiträge: 45
Registriert: 22.07.2006 13:35:41

Beitrag von area2051 » 18.09.2006 13:55:28

joah... sowas hab ich gesucht.
;-)

Antworten