Hallo! Ein Perl-Neuling braucht mal Hilfe.
Ich habe einen Text. Der sieht so aus:
START
Beschreibung1|Wert1|
Beschreibung2|Wert2|
Beschreibung3|Wert3|
ENDE
Ich möchte nun das alles zwischen START und ENDE steht, in ein mehrdimensionales Array schreiben. (Möchte dieses Array dann später durchsuchen können.)
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
#!/usr/bin/perl -w
my @datei = ('/home/user/perl/honky.txt');
my $z=0;
my $irgendwas;
foreach $irgendwas (@datei)
{
while(@datei)
{
open (DATEI, "$irgendwas") || die ("konnte die Datei nicht oeffnen. Fehler: $!");
@eingabe=<DATEI>;
close DATEI;
my $z=0;
if( $irgendwas =~ /START/ )
{
$z=1;
$elem=$irgendwas;
}
if( $irgendwas =~ /ENDE/ )
{
$z=0;
$tabelle[$i]=$elem;
$i++;
}
if($z==1)
{
$elem=$elem.$_;
}
}
open (OUT, ">ausgabe.txt") || die ("konnte die Datei nicht oeffnen. Fehler: $!");
print OUT @eingabe;
close OUT;
}
So funktionert das Skript nicht.