Thread sub aus sub aufrufen ... (9 answers)
Opened by jan999 at 2009-08-24 18:37

jan999
 2009-08-24 18:37
#124673 #124673
User since
2009-04-02
109 Artikel
BenutzerIn
[default_avatar]
Moin !

ich habe eine Funktion geschrieben die eine Sub (InitFilter) aufruft und aus dieser wird wieder eine andere (CreateCollectionTimeTable) aufgerufen.

Doch wie meine Kontrollausgaben zeigen wird diese überhaupt nicht ausgeführt.

Kann mir einer sagen wo mein Fehler liegt - vermutlich etwas im Bereich der Aufrufen.


Gruß Jan :-)

Hier der Code und einige Musterzeilen weiter unten:
---------------------------------------------------
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/perl

# Parser einbinden
my $osmolt_file = $ARGV[0];
my $result_file = "newfile.txt";
InitFilter();

# Filter anlegen
sub InitFilter
{
        #Filterdatei oeffnen
        open( FH, $osmolt_file ) or die( "$osmolt_file: $!" );
    open ($out, ">", $result_file) || die ("Can't open html output file: ".$result_file) ;
        my $count = 0;
        
        #fuer jede Zeile
        while( <FH> )
        {
                chomp;                          # Newlines loeschen
                s/^\s+//;                       # fuehrende Leerzeichen entfernen
                s/\s+$//;                       # nachfolgende Leerzeichen entfernen
                next if( /^#/ );        # Kommentare ueberspringen
                next if( /^s*$/ );      # Leerzeilen ueberspringen

                #Zeile auftrennen
                my($point,$title,$collection_times,$icon,$icon_size,$iconOffset) = split( /\t/, $_, 7 );

                if (length $desc > 0 )
                {
                  my $code = "<table width=\"100\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\">";

                  $icon="postbox_collection.png";
                  CreateCollectionTimeTable();
                  $collection_times=$code;
                }  
                                
                print $out $point."\t".$title."\t".$collection_times."\t".$icon."\t".$icon_size."\t".$iconOffset."\n";
                #Anzahl der eingelesenen Zeilen
                $count++;
                
        }

        close( FH );
        close $out;
                
        print $count." Zeilen bearbeitet";      
}       

#erstellen der Tabelle mit den Leerungszeiten
sub CreateCollectionTimeTable
{

my(@days) = split( /;/, $collection_times );

foreach $day (@days){
                $_ = $day;
                s/^\s+//;                       # fuehrende Leerzeichen entfernen
                s/\s+$//;                       # nachfolgende Leerzeichen entfernen
        my($dayname,$daytime) = split( / /, $_ );

                $code .= "<tr><td>".$dayname."</td><td>".$daytime."</td></tr>";
        
                print "|".$dayname."| - |".$daytime."|\n";
         
                $code .= "</tr>";
                
}

#Tabellen-Abschluss
$code .= "</table>";

print "------------------------\n";
print $code."\n";
}



Hier etwas MusterDaten:
-----------------------

Quote
point title description icon iconSize iconOffset
7160451.207101509,1147705.0185860004 Postkasten post_box.png 20,20 -10,-10
7157683.521090686,1145544.0289712767 Postkasten post_box.png 20,20 -10,-10
7157224.351292516,1145574.0852337866 Postkasten post_box.png 20,20 -10,-10
7156392.074875539,1147935.8952098733 Postkasten post_box.png 20,20 -10,-10
7150617.771846423,1145853.7977182642 Postkasten post_box.png 20,20 -10,-10
7153581.720383347,1171427.402445828 Postkasten post_box.png 20,20 -10,-10
7148605.16611688,1172264.7810513058 Postkasten post_box.png 20,20 -10,-10
7133011.067517117,1143746.263723012 Postkasten Mo-Fr 17:00; Sa 10:00 postbox_collection.png 20,20 -10,-10

View full thread sub aus sub aufrufen ...