regular expression

hudo

Mitglied
Hallo,

ich moechte im folgenden Code-Fragment in den if-Teil gelangen,
weiss aber nicht wie ich den Vergleich formulieren muß...
Code:
$price = "8.990";
$cmp_price = "price[$price]";

print "\n cmp_price: $cmp_price \n";

$output = "----Passat EURO 3---Kombi---RD[0899]---price[8.990]---kW[77]---";
print "\n output: $output \n";

if ( $output =~ /$cmp_price/ ) {
	print "\n if-branch \n";
} else {
	print "\n else-branch \n";
} ## if
 
Hi,

abgesehen davon das ich dir nicht ganz folgen kann was dein genaues Problem ist... aber du möchtest einfach nur zwei Variablen vergleichen?
 
Hallo,

wenn Du den code mal ausgefuehrt haettest, haettest Du auch gesehen, dass man so niemals in den if-Teil gelangt, weil $cmp_price Sonderzeichen enthaelt.

Die Loesung des Problems lautet:

if ( $output =~ /\Q$cmp_price\E/ ) {


Dadurch sind alle Sonderzeichen ge-quoted.

Gruss
 
Zurück