Thread Skript will nicht mehr: Probleme mit perl 5.8.6 (6 answers)
Opened by Gast at 2005-10-03 15:47

Gast Gast
 2005-10-03 15:47
#58478 #58478
Nach einem update von Perl gibt ein Skript von mir alles irgendwie doppelt aus. Hier ein snippset:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
01: #!/usr/bin/perl -pi.bak
02: undef $/;

03: chomp;
04: @splited=split /(\d+)/;

05: for (@splited)
06: {
07:  unless (/^\d+$/)
08:   {
09:      $value = $_;
10:   }
11:   else
12:   {
13:       $lines{$_} = $value;
14:   }
15: }

16: foreach $key (sort {$a <=> $b} keys %lines)
17: {
18:    print "<\$^{$key}\$>";
19:    @chars = split /( )*/, $lines{$key};
20:    for (reverse @chars)
21:    {
22:      SWITCH: {
23: # Vokale
24:  /'/  && do {$Vok = "_a"; last SWITCH;}; # Qamaz '
25:  /"/  && do {$Vok = "_a"; last SWITCH;}; # Qamaz "
26: # ... mehr Vokale
27: # Konsonaten : Fehlerquelle  <<<<
28:  /a/  && do {print "'$Vok";  undef $Vok; last SWITCH;};  # Aleph
29:  /b/  && do {print "b$Vok";  undef $Vok; last SWITCH;};  # Bwet
30: # ... mehr Konsonanten
31:          }
32:    }
33:    print ":\n\\\\\n";
34: }


Das skript soll verschiedene Kodierungen für Hebräischentext umwandeln und tat das auch immer brav. Aber jetzt wird in den Zeilen 28, und 29 ab dem zweiten Aufruf anstelle der Variable $Vok, die nur einen Vokale enthalten sollte, der Vokal und die Konsonanten die zwischen zwei Vokalen stehen ausgegeben. Ich hoffe irgendwer kann nachvollziehen was ich meine und mir helfen.

View full thread Skript will nicht mehr: Probleme mit perl 5.8.6