PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variablen als im Parameter uebergeben, so dass sie erst in der Sub ausgewertet werden



hennevl
22-11-2001, 15:42
Hi!

Ich schreibe mir zur Zeit eine Kleine Perl-Bibliothek fuer CGI's mit Sachen die ich oft brauche.
Dabei ist jetzt das Problem, dass ich bei bestimmten Funktionen den Text der ausgegeben werden soll als Parameter uebergeben muss. In den Text enthalten sein muessen aber auch Platzhalter wo nachher Variablen dargestellt werden.
Hier ein Beispiel:
# Reads out a Database and prints its content
# Syntax: dbread (File, TEXT(ENTRY[0] ... ENTRY[n]))
# DB-File: Entry1:Entry2:Entry3:...
sub dbread
{
$file = @_[0];
$text = @_[1];
$text =~ s/"ENTRY"/"$ENTRY"/g;
open (FILE, "$file");
@db = <FILE>;
close (FILE);
foreach (@db)
{
@entrys = split ':';
foreach (@entrys)
{
s/\:/:/g;
}
print $text;
}
}

Ich muss also den Text mit Stellen fuer die Variablen uebergeben.
Das Problem ist, dass die Variablen schon vor dem Uebergeben ersetztwerden. Deshalb wollte ich mich einem substitude bedienen. Aber das funtzt auch nicht. Das Problem tritt auch bei anderen Funktionen der Art auf.

Schonmal Danke, hendrik