Schrift
[thread]7315[/thread]

Skript will nicht mehr: Probleme mit perl 5.8.6



<< >> 7 Einträge, 1 Seite
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.
Gast Gast
 2005-10-03 16:14
#58479 #58479
Hast du Beispieldaten? Dann wär's einfacher ;).
Relais
 2005-10-03 16:19
#58480 #58480
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hast Du auch noch Beispieldaten dazu?
Wer hat das Skript geschrieben?

Edit: Welche war die vorige Version, bei der es tat, "was es sollte"?
Aus Neugier noch: war der -p-Switch in der ersten Zeile vorher auch drin (wahrscheinlich schon).\n\n

<!--EDIT|Relais|1128343624-->
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
renee
 2005-10-03 19:56
#58481 #58481
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Was macht das hier fuer einen Sinn??
Code: (dl )
1
2
02: undef $/;
03: chomp;


Wiki:use strict fehlt hier ganz...

Gut, das sind vielleicht nicht die Fehlerquellen, bedeuten aber eine Erleichterung bei Fehlersuche...
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/
SebasTEAan
 2005-10-04 15:31
#58482 #58482
User since
2005-10-04
3 Artikel
BenutzerIn
[default_avatar]
Hier die Beispieldaten

Datei test.heb:
Code: (dl )
aboa'1


Code: (dl )
$ bw_hebtex test.heb


ergibt in test.heb:
Code: (dl )
1
2
<$^{1}$>'_a'b_ob'':
\\


statt

Code: (dl )
1
2
<$^{1}$>'_ab_o':
\\
SebasTEAan
 2005-10-04 15:36
#58483 #58483
User since
2005-10-04
3 Artikel
BenutzerIn
[default_avatar]
[quote=renee,03.10.2005, 17:56]Was macht das hier fuer einen Sinn??
Code: (dl )
1
2
02: undef $/;
03: chomp;


Wiki:use strict fehlt hier ganz...

Gut, das sind vielleicht nicht die Fehlerquellen, bedeuten aber eine Erleichterung bei Fehlersuche...[/quote]
Code: (dl )
undef $/;


Sorgt meines Wissens dafür, dass die Datei als ganzes und nicht Zeilenweise bearbeitet wird. Warum ich das chomp benutzt habe weiß ich zugegebener Maßen nicht mehr so genau.
SebasTEAan
 2005-10-04 15:44
#58484 #58484
User since
2005-10-04
3 Artikel
BenutzerIn
[default_avatar]
Ahhhh! Danke für den Tipp mit Wiki. Die Deklaration der Variablen, namentlich $Var mit my hat das Problem gelöst. Jetzt arbeitet das skript wie früher.
<< >> 7 Einträge, 1 Seite



View all threads created 2005-10-03 15:47.