Vilen Dank schon mal für deine Hilfe,
habe den Code eingefügt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sub fill_table()
{
my ($datei,$src_path,$delimiter,$header) = @_;
open (IFILE, "< $src_path$datei") or die "can't open $src_path$datei: $!\n"; # in $0 steht der Skriptname
my $z = 0;
while(my $BomLine = <IFILE>){
$z++;
my @Bom = split(/\Q$delimiter/, $BomLine); # benutz das \Q!!!
$cols= @Bom;
for (0..(scalar(@Bom) -1)){
$arrayVar->{$z.','.($_ + 1)} = $Bom[$_];
}
}
1 while <IFILE>;
$zeilen=$.;
close IFILE; # Filehandle schließen - das hast Du komplett vergessen!
}
Mit | funz das auch soweit:
my $delim = '|';
my $file = 'test.txt';
my $path = '';
my $head = 'irgendwas';
fill_table($file,$path,$delim,$head);
Nur wenn ich als separator eine beliebige Anzahl an Leerstellen habe also s+ funz es nicht:
my $delim = 's+';
my $file = 'test2.txt';
my $path = '';
my $head = 'irgendwas';
fill_table($file,$path,$delim,$head);
Hast du eine Ahnung warum nicht?