Thread File::Find - bestimmte Dateien in Verzeichnis finden
(21 answers)
Opened by Henri at 2015-04-22 00:00
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) |