Thread Fehlermeldung (Permission Denied) :( (20 answers)
Opened by mandawar at 2007-11-13 13:05

mandawar
 2007-11-13 16:25
#102366 #102366
User since
2005-11-09
26 Artikel
BenutzerIn
[default_avatar]
HI nochmal.
Also nach dem ganzen Hin- und Her (vor allem in meinen Gedankengängen) hab ich das Programm nochmal komplett neu geschrieben, und es sieht besser aus, ich hab versucht deine Hinweise zu beachten und die Variablen sind jetz übersichtlicher (denke ich). Ich habe es nun soweit, dass die Dateien wie gehabt verschoben werden und, man staune, es wird auch etwas in die verarbeitet.txt reingeschrieben.

Mein neuer Code:
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
# C:\Perl\bin\perl.exe

use strict;
use warnings;

my $quelle = 'C:\Dokumente und Einstellungen\stephan\Desktop\output';
my $ziel = 'C:\Dokumente und Einstellungen\stephan\Desktop\output_verarbeitet';
my $datei_zum_schreiben = 'verarbeitet.txt';
my @quelle_files;
my @ziel_files;
my $dhandlequelle;

#################################################################################################
#                               Verschieben der vielen kleinen Textdateien                                                              #
#################################################################################################
(opendir($dhandlequelle, $quelle)) or (die "Quellverzeichnis konnte nicht geoeffnet werden: $!\n");
@quelle_files = readdir($dhandlequelle);
foreach my $temp_quelle_files(@quelle_files) {
        next if -d $temp_quelle_files;
        unless($temp_quelle_files=~ m/\.pl$/i) {
                print "$temp_quelle_files\n";
                rename ($temp_quelle_files, "$ziel"."\\"."$temp_quelle_files");
        } #unless
} #foreach
closedir($dhandlequelle);

(opendir(my $dhandleziel, $ziel)) or (die "Zielverzeichnis konnte nicht geoeffnet werden: $!\n");
(open(my $fhandle_gesamtdatei, "> $ziel"."\\"."$datei_zum_schreiben")) or (die "Datei '$ziel\\$datei_zum_schreiben' konnte nicht geoeffnet werden: $!\n");

(@ziel_files=readdir($dhandleziel)) or (die "Zielverzeichnis konnte nicht gelesen werden");
foreach my $temp_ziel_files(@ziel_files) {
        next if -d $temp_ziel_files;
        unless($temp_ziel_files=~ m/^verarbeitet.txt$/i) {
                (open(my $fhandle_einzeldateien, "$ziel"."\\"."$temp_ziel_files")) or (die "Die Datei '$temp_ziel_files' konnte nicht geoeffnet werden: $!\n");
                
                foreach my $textzeile ($fhandle_einzeldateien) {
                        chomp($textzeile);
                        print($fhandle_gesamtdatei "$textzeile\n");                     
                } #foreach zeile in kleinen Dateien
        } #wenn die txt nicht verarbeitet.txt heist
}#foreach

closedir($dhandleziel);

Und das steht in der verarbeitet.txt:
GLOB(0x1a76298)
GLOB(0x1a764d8)
GLOB(0x1a76490)
GLOB(0x1a76298)
GLOB(0x1a764d8)
GLOB(0x1a76490)
GLOB(0x1a76298)
GLOB(0x1a764d8)
GLOB(0x1a76490)
GLOB(0x1a76298)
GLOB(0x1a764d8)
GLOB(0x1a76490)
GLOB(0x1a76298)
GLOB(0x1a764d8)
GLOB(0x1a76490)
GLOB(0x1a76298)
GLOB(0x1a764d8)
GLOB(0x1a76490)
GLOB(0x1a76298)
GLOB(0x1a764d8)
GLOB(0x1a76490)
GLOB(0x1a76298)
GLOB(0x1a764d8)
GLOB(0x1a76490)
GLOB(0x1a76298)
GLOB(0x1a764d8)
GLOB(0x1a76490)
GLOB(0x1a76298)
GLOB(0x1a764d8)

Der Inhalt der .txts sieht aber eher so aus:
G00123456017;1500;0000;1500;18.10.2007;09:02:02;0001;
G00123456018;1500;0000;1500;18.10.2007;09:02:09;0001;
...
Ich verstehe leider nicht wie das Glob() zustande kommt :(

View full thread Fehlermeldung (Permission Denied) :(