Thread Array-Verarbeitung mit splice (9 answers)
Opened by cohama at 2014-04-08 08:42

cohama
 2014-04-08 11:11
#174661 #174661
User since
2011-08-16
102 Artikel
BenutzerIn

user image
Hallo Muffi,

ich nutze generell
Code: (dl )
use strict;


Hier kurz das gesammte Script:
Code: (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
#!/usr/bin/perl -w
########################
# Modul Definition
#########################
use strict;
##########################
# Parameter Definition
#########################
my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst);
my($date,$clock);
my ($File1,$File2);
my (@Array,@Array1,@Array2);
my $item;
##########################
##########################
system("clear");
##########################
# Time-Calculation
##########################
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$date =sprintf("%04d-%02d-%02d",$year+1900,$mon+1,$mday);
$clock =sprintf("%02d:%02d:%02d",$hour,$min,$sec);
###############################
# File-Operation
$File1 = "./log/grnti";
$File2 = "./log/".$date."_Result.log";
if ( -e $File1 ){
open (iFile,"<$File1") || die $!;
open (oFile,">$File2") || die $!;
}
@Array = <iFile>; # Copy File 2 Array
@Array = grep {$_ =~ /^GO./}@Array; # Select all lines starting with GO
while (@Array){
@Array1 = splice(@Array,0,2); # Drop first two colums
@Array1 = sprintf("%4s %4s",@Array1);
push @Array2,@Array1;
}
print oFile @Array2;
close(iFile);
close(oFile);


By the way:
Wie kann man eigentlich die Ausgabe des Array2 mit Leerzeichen auffüllen, sodass das Ergebnis richtig gut lesbar anhand von Spalten ist?

Ich habe bereits sprintf versucht, leider ohne Ergebnis.
Last edited: 2014-04-08 11:12:52 +0200 (CEST)

View full thread Array-Verarbeitung mit splice