(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:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
|
$infile = "data.txt";
#$infile = $batOutput;
## Wydajność Kartoteka Rękojeść (otwierać)
otwierać (OUT1, "> \!". $state.$status. "INFO.txt") lub umierać "Móc \!". $state.$status. "INFO.txt: $! ";
otwierać (OUT2, "> \!". $state.$status. "INFOspdsht.txt") lub umierać "Móc \!". $state.$status. "INFO.txt $! ";
otwierać (ERRLOG, "> \! errors.log") lub umierać "Móc! errors.log $! ";
## Druk Chodnikowiec Spdsht kartoteka
druk OUT2 "; ; ; ; Whitespace; ; DPI ReSize; ; ; \ n";
druk OUT2 "Filename; Comp; AlphCnl; Foto; Wid; Len; Res (0); x0; ; ; MB \ n";
## Konfiguracja Dane dla dane wydajność
mój %config = (
"LZW" => "kolor,
"Lempel-Ziv & Welch" => "kolor,
"CCITT Grupować 4" => "bkwhts",
"CCITT Grupować 4 faks" => "bkwhts",
"Nikt" => "nikt",
"nikt" => "nikt",
"RGB kolor" => "kolor,
"minuta-być-biały" => "bkwhts",
"minuta-być-czarny" => "bkwhts",
"paleta kolor (RGB od colormap)" => "kolor,
"Postanowienie" => okręt podwodny {
mój @r = rozłam (/,/, przesunięcie);
$r [(0)] =~ s/\ D//g;
$r [(1)] =~ s/\ D//g;
powrotny @r [0,1];
},
);
mój @config = klucz %config;
mój $file = $infile; # set to potrzebować.
otwierać mój $fh, "<", $file lub kostka do gry "móc <$file> dla $! ";
$/= "TYP: \ n";
podczas gdy (mój $record = <$fh>) {
chomp $record;
następnie jeżeli $record eq '';
$record =~ s/(TIFF Książka telefoniczna przy odsadzka. +) \ n//;
## Przyszłościowy use, dla zyskiwanie błąd
$errorCount = (0);
mój ($fullpath, $data) = rozłam (/\ n/, $record, 2);
$fullpath =~ s/: $//;
mój ($drv, $path, $file) = Kartoteka:: Spec->splitpath ($fullpath);
## Dostawać Uciskowy Plan dane
$cs = $config {$1} jeżeli ($data =~ s/\ s {2} Uciskowy Plan: \ s+ (. *?)\ n//);
jeżeli (! definiować $cs) {
druk "[BŁĄD]: Uciskowy Plan dla $file znajdować. \ n";
druk ERRLOG "[BŁĄD]: Uciskowy Plan dla $file znajdować. \ n";
$errorCount++;
#next;
}
## Dostawać Fotometryczny Interpretacja dane
$pi = $config {$1} jeżeli ($data =~ s/\ s {2} Fotometryczny Interpretacja: \ s+ (. *?)\ n//);
jeżeli (! definiować $pi) {
druk "[BŁĄD]: Fotometryczny Interpretacja dla $file znajdować. \ n";
druk ERRLOG "[BŁĄD]: Fotometryczny Interpretacja dla $file znajdować. \ n";
$errorCount++;
#next;
}
## Dostawać Kawałek/Próbka dane
$bits = $1 jeżeli ($data =~ s/\ s {2} Kawałek \ /Sample: \ s+ (. *?)\ n//);
jeżeli (! definiować $bits) {
druk "[BŁĄD]: Kawałek/Próbka dane dla $file znajdować. \ n";
druk ERRLOG "[BŁĄD]: Kawałek/Próbka dane dla $file znajdować. \ n";
$errorCount++;
#next;
}
## Dostawać Próbka/Piksel dane
$pixels = $1 jeżeli ($data =~ s/\ s {2} Próbka \ /Pixel: \ s+ (. *?)\ n//);
jeżeli (! definiować $pixels) {
druk "[BŁĄD]: Próbka/Piksel dane dla $file znajdować. \ n";
druk ERRLOG "[BŁĄD]: Próbka/Piksel dane dla $file znajdować. \ n";
$errorCount++;
#next;
}
## Dostawać AlphaChnl Wartość (kawałek * piksel)
$alphachnl = $bits * $pixels;
jeżeli ($alphachnl == 1) {
$alphachnl = "bkwhts";
}
elsif ($alphachnl == 8) {
$alphachnl = "barwić";
}
elsif ($alphachnl == 24) {
$alphachnl = "doLOGO";
}
inny {
$alphachnl = "unknwn";
}
## Dostawać Postanowienie dane
mój @r = $config {"Postanowienie"} - > ($1) jeżeli ($data =~ s/\ s {2} Postanowienie: \ s+ (. *?)\ n//);
## Dostawać Szerokość/Długość dane
mój ($w, $l) = ($1, $2) jeżeli ($data =~ s/\ s {2} Wizerunek Szerokość: (\ d+) Wizerunek Długość: (\ d+) \ n//);
## Szerokość
jeżeli (! definiować $w) {
druk "[BŁĄD]: Szerokość dla $file znajdować. \ n";
druk ERRLOG "[BŁĄD]: Szerokość dla $file znajdować. \ n";
$errorCount++;
#next;
}
## Długość
jeżeli (! definiować $l) {
druk "[BŁĄD]: Długość dla $file znajdować. \ n";
druk ERRLOG "[BŁĄD]: Długość dla $file znajdować. \ n";
$errorCount++;
#next;
}
## Postanowienie
jeżeli (! definiować $r [(0)] || ! definiować $r [(1)]) {
druk "[BŁĄD]: Postanowienie dla $file znajdować. \ n";
druk ERRLOG "[BŁĄD]: Postanowienie dla $file znajdować. \ n";
$errorCount++;
#next;
}
## Dostawać Rozmiar TIF (F) kartoteka
mój $filesize = (- s $fullpath)/(1024 * 1024);
mój $size_in_mb = sprintf "%.2f", $filesize;
## Błąd Czek
jeżeli ($errorCount > (0)) {
druk "[INFO]: $file przetwarzać, zbyt wiele błąd. \ n";
następnie;
}
$data =~ s/\ n$//;
## ** Dla Debugging - Druk **
## druk $/, łączyć (": ", $file, $cs, $bits, $pi, $w, $l, @r, $size_in_mb, "\ n"), $data," \ n ";
druk "$file \ n";
druk OUT1 $/, łączyć ("; ", $file, $cs, $bits, $pixels, $pi, $w, $l, @r, $size_in_mb, "\ n"), $data," \ n ";
## LOS ANGELES Wydajność
jeżeli ($state eq "LOS ANGELES") {
druk OUT2 "$file; ", "$cs; ", "$alphachnl; ", "$pi; ", "$w; ", "$l; ", "$r [(0)]; $r [(1)]; ; ; ", "$size_in_mb; ; ", "\ '$batch; ; ; ; ", "początek; ", "$file; ; ; ; ; ; ; ; ; ; ", "$size_in_mb; ", "ruch; ", "$file; ", "$dir_root \ \ robić; ", "\ n";
}
## NM Wydajność
elsif ($state eq "NM") {
druk OUT2 "$file; ", "$cs; ", "$alphachnl; ", "$pi; ", "$w; ", "$l; ", "$r [(0)]; $r [(1)]; ; ; ", "$size_in_mb; ; ", "\ '$batch; ; ; ; ", "początek; ", "$file; ", "$size_in_mb; ", "ruch; ", "$file; ", "$dir_root \ \ robić; ", "\ n";
następnie;
}
## OK/UT Wydajność
elsif ($state eq "EQ" || $state eq "UT") {
druk OUT2 "$file; ", "$cs; ", "$alphachnl; ", "$pi; ", "$w; ", "$l; ", "$r [(0)]; $r [(1)]; ; ; ", "$size_in_mb; ; ", "\ '$batch; ; ; ; ", "początek; ", "$file; ", "$size_in_mb; ", "ruch; ", "$file; ", "$dir_root \ \ robić; ", "początek; ", $file. "f; ", "ruch; ", $file. "f; ", "$dir_root \ \ robić \ \ TEMPdone; ", "\ n";
następnie;
}
## TX/WY Wydajność
elsif ($state eq "TX" || $state eq "WY") {
druk OUT2 "$file; ", "$cs; ", "$alphachnl; ", "$pi; ", "$w; ", "$l; ", "$r [(0)]; $r [(1)]; ", "ruch $dir_root \ \ $file $dir_root \ \ $cs \ \ $file; ; ", "$size_in_mb; ; ", "\ '$batch; ; ; ", "początek; ", "$dir_root \ \ $cs \ \ $file; ", "$file; ", "$size_in_mb; ", "ruch; ", "$dir_root \ \ $cs \ \ $file; ", "$dir_root \ \ robić; ", "początek; ", $file. "f; ", "ruch; ", $file. "f; ", "$dir_root \ \ robić \ \ TEMPdone; ", "\ n";
następnie;
}
elsif ($state eq "NIKT" || $state eq"--" || $state eq "INNY") {
druk OUT2 "$file; ", "$cs; ", "$alphachnl; ", "$pi; ", "$w; ", "$l; ", "$r [(0)]; $r [(1)]; ", "$size_in_mb \ n";
następnie;
}
}
zakończenie (OUT1) lub kostka do gry "Móc out1: $! ";
zamykać (OUT2) lub kostka do gry "Móc out2: $! ";
zakończenie (ERRLOG) lub kostka do gry "Móc błąd bela: $! ";
zamykać ($fh) lub kostka do gry "Móc $fh: $! ";
|