Homepage selbermachen 7.846 Themen, 35.563 Beiträge

Perl ! Zeichen innerhalb eines Scripts ersetzen

Ullzn / 6 Antworten / Flachansicht Nickles

Hi Leuts,

brauch Eure Hilfe: In einem Perlscript muss ich verschiedene Zeichen innerhalb von URLs (?, &, ~) durch einen Bindestrich ersetzen bevor diese an URLs ausgegeben werden. Ansosnten funzt der Skript 1A. Hat wer nen Tipp...?

Vielen Dank

Ullzn

bei Antwort benachrichtigen
Ullzn xafford „was spricht gegen preg_replace?“
Optionen

Sorry, ich glaub ich sollte das problem detaillierter darstellen:
Also... ich muss Datenbankeinträge u.a. unter Zuhilfenahme von Perl in HTML-Dateien ausgeben. Das Problem ist: Aus diesen HTML-Dateien sollen (via cgi) Zusatzinformationen zu den Einträgen - wiederum in HTML - aufrufbar sein. Das Aufrufen dieser Zusatzinformationen erfolgt wiederum durch eine cgi-Übergabe der URL. Problematisch wirds, wenn die URL eines der Zeichen "&, ?, ~" enthält. Diese Zeichen muss ich durch "-" esetzen.
Das funktioniert normaerweise in Perl durch:

$a = "http://members.tripod.com/~dazc?-&/&?~biblio.htm";
print "$a\n";

$a =~ tr/&?~/---/;
print "$a\n";

Innerhalb der Scripts, das die erste HTML-Seite erzeugt funzt das aber nun nicht so recht: der entsprechende Ausschnitt des Script sieht so aus:

elsif ($stuck =~ m/#FIURVT/)
{
$stuck =~ s/#FIURVT/$felderhash{"..FIUR"}/;
if ($felderhash{"..FIUR"} =~ m/.+/){print HTML $stuck;}
}

mein Problem: Wie und wo (vermutlich vor "Print") ersetzte ich die Zeichen?

Danke für eure Hilfe

Ullzn

bei Antwort benachrichtigen