Schrift
[thread]10787[/thread]

Fehlermeldung (Permission Denied) :( (Seite 2)

Leser: 1


<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten
renee
 2007-11-13 14:44
#102347 #102347
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
statt for(my @files ){ muss es for(my @txtliste ){ heißen. Aber strict hätte da meckern müssen...
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/
renee
 2007-11-13 14:46
#102349 #102349
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zum Kopieren solltest Du vielleicht CPAN:File::Copy verwenden.

Und schau Dir mal CPAN:Data::Dumper an, ob in @txtliste das drinsteckt was Du erwartest.
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/
mandawar
 2007-11-13 14:51
#102351 #102351
User since
2005-11-09
26 Artikel
BenutzerIn
[default_avatar]
leider nein, die Änderung hat nichts bewirkt... ich überarbeite es einfach nochmal,
aber muss sagen bisher gefällt mir Perl auch wenn mir noch vieles nicht bekannt ist :)

/edit: das kopieren funktioniert soweit, also die files landen 1:1 kopiert in dem anderen Odner
renee
 2007-11-13 14:56
#102352 #102352
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
renee+2007-11-13 13:46:27--
Und schau Dir mal CPAN:Data::Dumper an, ob in @txtliste das drinsteckt was Du erwartest.


... mach das mal!
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/
mandawar
 2007-11-13 15:01
#102353 #102353
User since
2005-11-09
26 Artikel
BenutzerIn
[default_avatar]
Code (perl): (dl )
1
2
3
4
5
@txtliste= grep{ $_ =~ /\.txt/  and -f $_ }             
                   map{ $ziel . '\\' . $_ }                   
               readdir($dhandle2);                                                      
print Dumper(@txtliste);
if( open my $out, '>', $ziel . '\\' . $DateiZumSchreiben ){

gibt aus:
$VAR1 = 'C:\\Dokumente und Einstellungen\\stephan\\Desktop\\output_verarbeitet\\
verarbeitet.txt';
renee
 2007-11-13 16:10
#102361 #102361
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wirkich in 2 Zeilen?
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/
renee
 2007-11-13 16:11
#102363 #102363
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mach mal vor der Ausgabe noch $Data::Dumper::Useqq = 1
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/
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 :(
nepos
 2007-11-13 16:55
#102367 #102367
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Der Fehler steckt in Zeile 36. Da sollte
Code (perl): (dl )
                 foreach my $textzeile (<$fhandle_einzeldateien>) {
stehen denke ich.
mandawar
 2007-11-13 17:00
#102370 #102370
User since
2005-11-09
26 Artikel
BenutzerIn
[default_avatar]
HA, perfekt, ich könnt dich knuddeln :)
Vielen lieben Dank
<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten



View all threads created 2007-11-13 13:05.