Thread File::Find - bestimmte Dateien in Verzeichnis finden (21 answers)
Opened by Henri at 2015-04-22 00:00

Gast Henri
 2015-04-25 23:29
#180814 #180814
Hi Charly54
ic habe schon etwas gemacht in zwischen habe ich glob() benutzen aber trotzdem funktioniert nicht so ganz, oder es erfüllt nicht so gerade meinen Wünsch.
da ich gern möchte, dass ich die Name der erste datei auf meine Perl editor eintippe und dann der code sollte von allein der Rest von xml-Dateien weiterabarbeiten. dh sowas in der Art:

C:perl code.pl erste_datei_name *.xml

nach der Code parst er die Erste Datei nach der Attribut Name und der Rest nach der Attribut value.


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
use strict;
use warnings;
use XML::Twig;

my @files = glob '*.xml';
my $file1 = shift @files;


my $FileResult = 'result.txt';
open( my $FhResult, '>', $FileResult )or die ("Unable to open file $FileResult\n$!");


my $twig1= XML::Twig->new(    
        twig_handlers => {    

                'Parameter' => sub { 
                        
                              
                        my $attr_name = $_->{'att'}->{'name'} // 'fault'; 

                        print $FhResult $attr_name . ",";
                },
        },
);

print $FhResult( (split('_', $file1,2))[0] . ',' ); 

$twig1->parsefile($file1);





for my $file (@files) {
    my $twig1 = XML::Twig->new(
        twig_handlers => {
            'Parameter' => sub {
                my $attr_value = $_->{'att'}->{'value'} // 'fault';
                print $FhResult $attr_value . ",";
            },
        },
    );

    print $FhResult ( split( '_', "\n$file", 2 ) )[0] . ',';

    $twig1->parsefile($file1);
}

close $FhResult;

Last edited: 2015-04-25 23:54:51 +0200 (CEST)

View full thread File::Find - bestimmte Dateien in Verzeichnis finden