freeze
01.06.2005, 13:10
Hey @all,
ich habe da ein Problem mit einer Funktion:
sub parseAliasAndPush { # Hier werden die Schlüssel und Werte zugewiesen.
my $text = shift;
$text = &parseTextStart($text);
if($text =~ /.+?key=(['"])(.+?)\1\svalue=(['"])(.+?)\3/) {
$vars{$2} = $4;
}
};
sub parseText {
my $text = shift;
foreach (keys %vars) {
print "Key: >>$_<<;\nValue: >>" . $vars{$_} . "<<\nText: >>$text<<\n";
if($text =~ /$vars{$_}/ || $text =~ /$_/ ||
$text =~ /$v/ || $text =~ /$k/) {
print "Vorher: >>$text<<\n";
$text =~ s/$_/$vars{$_}/g;
print "Nachher: >>$text<<\n";
}
else {
print "SCHLUESSEL WURDE NICHT GEFUNDEN!\n";
}
print "------------------------------------\n";
}
return $text;
};
Warum ersetzt er mir in der Funktion "parseText" nicht den Text?
Wenn ich mir den key und die dazugehörigen Wert ausgeben lasse funktioniert es, jedoch funktioniert es nicht, wenn ich es in einem Text ersetzen möchte.
Lg freeze
ich habe da ein Problem mit einer Funktion:
sub parseAliasAndPush { # Hier werden die Schlüssel und Werte zugewiesen.
my $text = shift;
$text = &parseTextStart($text);
if($text =~ /.+?key=(['"])(.+?)\1\svalue=(['"])(.+?)\3/) {
$vars{$2} = $4;
}
};
sub parseText {
my $text = shift;
foreach (keys %vars) {
print "Key: >>$_<<;\nValue: >>" . $vars{$_} . "<<\nText: >>$text<<\n";
if($text =~ /$vars{$_}/ || $text =~ /$_/ ||
$text =~ /$v/ || $text =~ /$k/) {
print "Vorher: >>$text<<\n";
$text =~ s/$_/$vars{$_}/g;
print "Nachher: >>$text<<\n";
}
else {
print "SCHLUESSEL WURDE NICHT GEFUNDEN!\n";
}
print "------------------------------------\n";
}
return $text;
};
Warum ersetzt er mir in der Funktion "parseText" nicht den Text?
Wenn ich mir den key und die dazugehörigen Wert ausgeben lasse funktioniert es, jedoch funktioniert es nicht, wenn ich es in einem Text ersetzen möchte.
Lg freeze