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

Gast Henri
 2015-04-23 15:02
#180796 #180796
Hallo wie ich schon sagte ich kenne mich nicht gut aus
ich verstehe leider nict die Methode Wanted das ist der code leider bekomme ich immer eine Fehlermeldung.

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
#!/usr/bin/perl                      
package wanted;
use strict;
use warnings;
use XML::Twig;   
use Text::CSV;                  
use File::Find;
use wanted;
   &wanted();
   &newwanted();


my $FileResult = $ARGV[1] || 'result.txt'; 
my $FhResult;

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

File::Find::find({wanted => \&wanted}, 'C:\Users\ADMIN\Documents');
exit;

sub newwanted {
    my ($dev,$ino,$mode,$nlink,$uid,$gid,$name);

    (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
    -f _ &&
    /^.*\.xml\z/s 
    && processXML($name);
}

sub processXML ($) {
    print $FhResult( (split('_', "\n$_",2))[0] . ',' ); 
    $twig2->parsefile($_);
}

open( $FhResult, '>', $FileResult ) or die("Unable to open file $FileResult\n$!");

find({
   wanted   => \&newwanted,
}, $folder);

close $FhResult;

Last edited: 2015-04-23 15:12:39 +0200 (CEST)

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