Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8829[/thread]

Wert einer Variable = Wert einer Variable



<< >> 5 Einträge, 1 Seite
Gast Gast
 2007-03-12 14:26
#74936 #74936
Hallo allerseits,

ich hoffe mal, das mir jemand weiter helfen kann, denn momentan stehe ich auf dem schlauch.

Ich habe eine Datei, die ich als Array einlese

Code: (dl )
1
2
3
4
open (DATEI, "Adressen") or die "Kann Datenquelle nicht finden/oeffnen: $!\n";
flock (DATEI, 2);
@array = <DATEI>;
close (DATEI);


Die Datei ist wie folgt aufgebaut

geschlecht,name,email-adresse

Das splitte ich in 3 Variablen auf

Code: (dl )
1
2
3
4
5
foreach $zeile (@array) {
# Zeilenumbruch entfernen
chomp $zeile;
# Die einzelnen Elemente zuweise - Liste ist komma-separated, daher /,/
($sex, $name, $email) = split(/,/, $zeile);


So, nun möchte ich mir eine Anrede bauen, je nachdem ob sex m oder w ist soll die Anrede sein

Sehr geerhter Herr $name,

oder

Sehr geehrte Frau $name,

anschliessen soll der Body kommen, den ich ebenfalls als Array aus einer Textdatei einlese

Code: (dl )
1
2
3
4
# Message-Body
open (TEXT, "text") or die "Kann Datenquelle nicht finden/oeffnen: $!\n";
@arraybody = <TEXT>;
close (TEXT);


Also zusammengefasst: Der Wert von $message_body soll sein

Sehr geehrter Herr $name --> wenn sex eq "m"
+@arraybody

oder

Sehr geehrte Frau $name --> wenn sex eq "w"
+@arraybody

Hat jemand vielleicht einen Tipp für mich, wie ich das realisieren kann ?

Vielen Dank und viele Grüße
Relais
 2007-03-12 14:33
#74937 #74937
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wo hakt es denn?
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
renee
 2007-03-12 14:40
#74938 #74938
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das kann man mit einem Hash realisieren. Ohne Dir die Lösung verraten zu wollen, mal ein kleiner Tipp:
Code: (dl )
1
2
3
4
5
6
7
8
my %hash = (
Apfel => 'gruen',
Banane => 'gelb',
);

my $wert = 'Apfel';

print "Farbe: ",$hash{$wert},"\n";


Spiel damit mal ein wenig rum, dann findest Du die Lösung bestimmt... Das funktioniert wie ein Wörterbuch. Du hast ein Wort das Du weißt und schlägst dann das andere Wort im Hash nach...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
MisterL
 2007-03-12 17:05
#74939 #74939
User since
2006-07-05
334 Artikel
BenutzerIn
[default_avatar]
Man könnte auch mit Templatevariablen für Bereiche oder einzelne Variablen arbeiten. Vielleicht empfiehlt sich ein Definieren der maximal möglichen Bezeichnungen an Namen für ein Geschlecht (der Rest wäre dann automatisch "anders"). Um ein Hash kommt man aber nicht herum....
“Perl is the only language that looks the same before and after RSA encryption.”
renee
 2007-03-12 19:36
#74940 #74940
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das finde ich aber arg umständlich...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 5 Einträge, 1 Seite



View all threads created 2007-03-12 14:26.