nordanMedlem sedan juni 2000949 inlägg Tjena hej!
Om man har en text fil med olika värden typ så här
Katt:::2:::
Hund:::14:::
Hur gör man då för att sätta in namn så att man kan skriva ut dom en efter en.
$värde1 och då skriver man ut katt
när man sedan skriver
$värde4 skall man skriva ut 14
jag har gjort så här och jag får bara ut
första raden i texten som är katt och 2
open(FIL,"rost.txt");
foreach $rad (<FIL> ){
@upp= split(/:::/,$rad);
}
print "$upp[0] $upp[1] $upp[2] $upp[3]";
När jag har skrivit detta vill jag att det skall stå
Katt 2 Hund 14
Någon som vet om det går? :l :x
demo
Hej!
Prova med att sätta printsatsen innanför "}" klamrarna. Som det är nu skriver väl programmet endast ut det sista värdet?
När jag hämtar värden från liknande fil lägger jag dem i vektorer. Därefter så skriver jag ut vektorerna vid lämpligt tillfälle.
Nu kan man säkert göra en flerdimensionerad vektor ;) , vilket är att föredra. Men hoppas ändå att koden kan vara till hjälp.
flock(FILE,$lock);
open (TEXT,"$boktext");
while ($rad=<TEXT> ){
$k++;
$rad=~/(.*)::(.*)::(.*)::(.*)::(.*)::(.*)::(.*)::(.*)/;
$INFO1[$k]=$1;
$INFO2[$k]=$2;
$INFO3[$k]=$3;
$INFO4[$k]=$4;
$INFO5[$k]=$5;
$INFO6[$k]=$6;
$INFO7[$k]=$7;
$INFO8[$k]=$8;
}
close (TEXT);
flock(FILE,$unlock);
}
Mvh,
Demo
[Redigerat av demo den 05 jul 2000]