Hallo,
also ich will folgendes machen, das ist z.B. mein jetztiges Prog, dieses macht genaus das File auf, welches ich vorsagen z.B.
perl test.pl R0000378.CAP
R0000378.CAP ist meine Datei die durchsucht wird, nun sind viele Dateien unter diesem Verzeichnis, die so wie oben oder ähnliche Dateinamen haben, mit meinem Prog habe ich nur das aufgerufene Datei durchsucht, nun will ich aber alle Dateie unter einem Verzeichnis (dateien) durchsuchen:
hier ist z.B. mein prog:
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
$quelle = $ARGV[0];
$x = $ARGV[0];
$x =~ s/(\w+)\.\w+/$1/;
$ziel = $x;
open ($INPUT,"<$quelle") or die "konnte $ziel nicht oeffnen,$!\n";
while ($line = <$INPUT>)
{
if ($line =~ /.CBT/gsm)
{
$cbt = 1;
}
elsif ($line =~ /BARCODE/gsm)
{
$barcode = 1;
}
elsif ($line =~ /AATHD000000.000/gsm)
{
$falscheangabe = 1;
}
elsif ($line =~ /PASS/)
{
$start_pos = tell($INPUT);
}
elsif ($line =~ /FAIL/)
{
$end_pos = tell($INPUT);
}
}
if ( $end_pos)
{
$status = '01';
$result = 'Failed';
seek($INPUT, $start_pos, 0);
$hit;
while ($line = <$INPUT>)
{
chomp($line);
last if $end_pos <= tell($INPUT);
if ($line =~ /^\z/)
{
$hit = 1;
}
if ($hit)
{
push @fehler, $line;
}
}
$fehler = join(' ', @fehler);
$fehler =~ s/\s+/ /g;
}
else
{
$status = '00';
$result = 'Passed';
}
close $INPUT;
if (($cbt != 1) || ($barcode != 1))
{
unlink ($quelle);
}
elsif ($falscheangabe == 1)
{
unlink ($quelle);
}
else
{
open (OUTPUT,">$ziel.txt") or die "konnte $ziel nicht oeffnen,$!\n";
print OUTPUT "{\@BATCH|$sachnummer||GOEPEL_BSCAN||KDSNR:$kundennummer|ICT||PB/PL_P|uqm161|||\n";
print OUTPUT "{\@BTEST|$seriennummer|$status|$starttest|||||n|n|$endetest||1|\n";
print OUTPUT "{\@RPT|$result}\n";
print OUTPUT "{\@RPT|$fehler}\n" if $fehler;
close OUTPUT;
}
Danke im Voraus!