Thread Speichzugriffehler bei Nutzung von Perl Tk Modul (2 answers)
Opened by Gast at 2009-02-18 11:53

Gast Gast
 2009-02-18 13:56
#118958 #118958
Hallo Renee

Ich schreibe dir noch mal den Hauptteil vom Script wo ich die Message aufrufe.

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
use File::Find;
use CGI;
use POSIX 'strftime';
use Tk;

&message;

@html_dat = ('a'..'z', 0..9);

foreach $html_dat (@html_dat){
     @dateien = undef;
     $q = new CGI;
     open (HTML, ">$html_dat.html");
     find (\&wanted, $ENV{HOME});
     select(HTML);
     print $q->start_html(-title=>"Meine Dateien";),

      # Jetzt wird eine Html datei geschrieben mit einer Tabelle in der 
      mit den gefunden Dateien alle die mit a b c usw bis 9 beginnen) 
      im Dateinamen
     
      print $q->end_html;
      close(HTML);
      select(STDOUT);
      
      $i = $i+1;
      if($i == 10){&message}; #Tk Modul Label 'indizierung läuft'
      if($i == 20){&message};
      if($i == 30){&message};
};


Habe das mit dem Aufruf mal so gelöst das bei 10 20 30 sten Durchlauf die Meldung erscheint. habe das einfach in der Schleife hinten dran geschrieben. Es gibt sicher elegantere Lösungen.

Die subroutine wanted in der Zeile Find prüft nur ob es eine versteckte Datei oder verzeichnis ist, dann wird nicht in die Html datei geschrieben und wenn nicht versteckt wird mit stat die Erstellungszeit der Datei ausgelesen und mit Modul POSIX 'strftime' formatiert dd mm yyyy ausgegeben.

Interessant ist das Script bricht bei Nutzung von perl-tk-804.027-15.2 ab entweder bei if($i == 10) ... oder 20 oder 30 frei nach Gusto.

Nutze ich wie auf meinem Rechner installiert die Version perl-tk-800.024-118 läuft alles ohne das geringste Problem.

Edit (renee): bitte die CODE-Tags verwenden

View full thread Speichzugriffehler bei Nutzung von Perl Tk Modul