perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 38
Click for quality!




11.02.2012 / 17:15

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragSuchen und Ersetzen mit Tabelle
Seitenanfang
Hallo,
ich lese zur Zeit aus einer Textdatei verschiedene Informationen aus. Eine davon ist eine ID, die auch in einer Variable landet.
Ich habe jetzt eine weitere Datei die tabellenartig eine Zuordnung zwischen der ID und einer Benennung hat.

Meine Frage ist jetzt, wie ich an Stelle der ID den Namen ausgeben kann und zudem die Tabellendatei nicht jedesmal neu laden muss
(weil ca. 30 Durchgänge innerhalb des Quellfiles).

Danke dc

Datum: 13.02.2008-12:15

Beitragre: Suchen und Ersetzen mit Tabelle
Seitenanfang
Lies die Tabelle zB in einen Hash ein mit der ID als Schlüssel.

Angenommen die Tabelle sieht so aus :
13:dreizehn
21:einundzwanzig
49:neunundvierzig

dann kannst du sie einlesen und zuordnen:

my %namen = ();

open(FH,"<tabelle.txt");
@daten = <FH>;
close(FH);

foreach $zeile(@daten){
($id,$name) = split(/:/,$zeile);
$namen{$id} = $name;
};

als Resultat hast du ein assoziatives Array wie oben beschrieben. Also
$namen{'13'} = "dreizehn"
So kannst du schnell auf den zur ID gehörenden Namen zugreifen.

Datum: 15.02.2008-13:59

Beitragre: Suchen und Ersetzen mit Tabelle
Seitenanfang
Namen aus geben wenn du die ID hast. Ich würde es über ein Hash machen.
http://www.perl.com/pub/a/2006/11/02/all-about-hashes.html

Alles in ein Hash laden
%hash= (
ID1 => "Rudolf",
ID2 => "Hans",
ID3 => "Andreas"
);

Und anschliessend kriegst du mit

print $hash{ID1};

"Rudolf" als ausgabe.

Datum: 15.02.2008-15:37

-






-
-