@havi
das ist mein script:
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
#!/usr/bin/perl-w
use strict;
use warnings;
my @array = ('Nachname','Vorname','domain','usw',);
my @_daten = (""); # Speicher fuer alle Datensaetze
my @matrix = (\@array,\@_daten); #stopf die beiden arrays in ein array
open(DATEN, "<blubb.txt") or die "Datei nicht gefunden\n";
while(<DATEN>) {
chomp;
my @matrix = ();
@matrix = split(/%/); # $_ ist standard
foreach (@matrix) {
s%^\s+%%g; # fuehrende und
s%\s+$%%g; # abschliessende Blanks entfernen
} # foreach
print left($matrix[0],90).left($matrix[1],90).left($matrix[2],90), "\n";
# und zum Beweis das die Leerstellen weg sind
#print "BEWEIS\n";
print "$matrix[0];$matrix[1];$matrix[2]\n";
} # while
sub left {
my $r = $_[0];
while(length($r) < $_[0]) {$r.=' '}
$r;
} # left
print "@{$matrix[0]}\n";
print "@{$matrix[1]}\n";
close(DATEN);
# open (DATEN,"<blubb.txt");
# open(NEU,">dieneuedatei.txt");
# while(<DATEN>){
# print NEU @_daten;
# }
# close (NEU);
# close (DATEN);
hab es auf 90 geaendert
und das kommt dabei raus,(nur mal die ersten vier):
mustermann Bernd blaDomain 32 016 85 5.7.2006 16:36 5.7.2006 16:36
mustermann Bernd blaDomain 32 016 85 5.7.2006 16:36 5.7.2006 16:36;;
maier Gerhard blubbDomain 66 715 457 6.7.2006 6:31
maier Gerhard blubbDomain 66 715 457 6.7.2006 6:31;;
jeder Name wird zweimal geschrieben, mit einem unterschied hinter der letzten zahl steht in der zweiten version immer zwei ;;
komisch!
und miten in der datei kommt dann mal sowas:
Use of uninitialized value in length at C:\DOCUME~1\benutzername
\LOCALS~1\Temp\dzprltmp.pl line 34, <DATEN> line 33.
Use of uninitialized value in numeric lt (<) at C:\DOCUME~1\benutzername\LOCALS~1\Temp\dzprltmp.pl line 34, <DATEN> line 33.
numeric heist doch er will das ich zahlen schreibe oder?\n\n
<!--EDIT|renee|1155122888-->