Hehe... Sprachdatei, so etwas baue ich auch gerade in mein Script ein.
Ich habe das so gelöst:
Die Sprachdatei:
Nun lese ich diese in einen Hash ein:
my %hash;
my $x = "0";
open(F, "speech.txt") or die "Unable to open file: 'speech.txt'!\n$!";
foreach (<F>){
chomp;
$hash{$x} = $_;
$x++;
}
close(F);
Wenn ich nun die zweite Sprachzeile haben möchte, kann ich sofort darauf zugreifen. Nämlich mit dem Schlüssel 2 - 1.
Du kannst die Datei auch in ein Array einlesen, für meine Zwecke benötigte ich jedoch einen Hash.
Nun kannst du hingehen und in der Sprachdatei selber Platzhalter einbauen (%d, z.B.).
In der Ausgabe sieht das dann wie folgt aus:
my $user = "10";
$hash{'0'} =~ s!%d!$user!gi;
So einfach kannst du dann die Sprachdateitexte durch andere Variablen ersettzen.
HTH
Gruß, Erik!
s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}
It's not a bug, it's a feature! - [CGI-World.de]