Thread Anrede umsetzen (7 answers)
Opened by cowan at 2015-04-13 20:17

Linuxer
 2015-04-14 13:09
#180657 #180657
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Keine Ahnung, was bei Dir nicht klappt. Brauchbare Infos lieferst Du leider nicht und auf gelieferte Infos gehst Du auch nicht ein. Bei mir funktioniert mein Vorschlag.

Was willst Du an der nicht funktionierenden Zeile anpassen? $1 ist nur lesbar. Sie funktioniert so nicht!
Und was der Regex unabhängig davon machen soll, wird mir auch nicht klar. Worauf soll /^\s(.)/ bitte zutreffen? Auf "Frau"? Auf "Herr"? Auf "nix"?


Beispiel:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#! /usr/bin/perl 
use strict;
use warnings;

while ( my $dataset = <DATA> ) {
        chomp $dataset;
        my ( $anrede, $titel, $vorname, $nachname ) = split m/;/, $dataset;

        # $anrede kann sein: Herr, Frau oder leer (bzw. alles andere wird wie leer gewertet)
        $anrede = $anrede eq 'Frau' ? "Sehr geehrte Frau"  :
                  $anrede eq 'Herr' ? "Sehr geehrter Herr" :
                                      'Sehr geehrte Damen und Herren';
        
        my $name = defined($titel) ? "$titel $nachname" : $nachname;

        print "$anrede $name\n";        
}


__DATA__
Herr;;Fritz;Mueller
Frau;Dr.;Liese;Meier
;;;
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Anrede umsetzen