Perl: fájl tartalmának betöltése tömbökbe (mátrixba)

Van egy fájlom, ami ";"-vel elválasztva tartalmaz információkat.
pl:
info1;info2;info3
info4;info5;info6
info7;info8;info9
info10;info11;info12

A kérdésem az lenne, hogy hogyan tudom ezeket beolvasni 1-1 tömbbe vagy mátrixba úgy, hogy az egyes oszlopok elemei egyenként is címezhetők legyenek.
pl. a 2. oszlop 3. elemét akarom kiválasztani, nem kell az egész oszlop, csak ez az egy elem

Eddig ezzel a módszerrel próbálkoztam:

open(FILE,"
my @info=;
my $count;
for ($count = 0; $count != 50 ; $count++){
@F = split(";", @info[$count]);
print "Első oszlop: $F[0]\n";
print "Második oszlop: $F[1]\n";
print "Első és Második oszlop: "@F[0,1]\n";
}
close FILE;

A cél az volna, hogy ne csak egész oszlopokat tudjak listázni, hanem egyes elemeket is ki tudjak íratni.
Előre is köszi a segítséget!

Hozzászólások

Azt javasolnám, hogy először nézz utána a referenciáknak, leginkább a tömbreferenciának.
Ha azt érted, akkor meg tudod oldani - amíg nem érted, addig a megoldással sem tudsz mit kezdeni.

Más kérdés, hogy akár tömbelemként tárolt hashekkel is körüljárhatnád, de az gyávaság volna.


open(FILE, "x.txt") or die "Ez nem megy:".$!;
while(){
chomp;
@A=split(";");
print $A[0]," --- ", $A[1], "---", $A[2],"\n";
};
close(FILE);

Jelezném, több, mint tíz éve nem láttam perlt, szóval lehet benne hatalmas marhaság is, ha valaki gyakorlott szemmel nézi!
Kiindulási alapnak talán jó. (nem pont az, amit te akarsz, ahhoz még bővítgetni kell rajta)

ui: hogy lehet itt formázott szöveget berakni?

HZ szkriptje modosítva es kesz is:

my @sorok = ();
open(FILE, "x.txt") or die "Ez nem megy:".$!;
while(){
chomp;
@A=split(";");
print $A[0]," --- ", $A[1], "---", $A[2],"\n";
%adat = (0 => $A[0] , 1 => $A[1], 2 => $A[2]);
push (@sorok, \%adat);
};
close(FILE);

Kiiratni igy kell:

[0] ahanyadik sor

print ${$sorok[0]}{0} . " " . ${$sorok[0]}{1} . " " . ${$sorok[0]}{2} . "\n";

Üdv

Szijártó Zoltán
Aki tud az alkot, aki nem tud az csak szövegel.

Bocs, ha segíteni akarok valakinek, akkor hadd ne kelljen egy (esetleg hosszabb) kódot még átszerkesztenem, hogy ne kerüljön bele olyan karakter, amit eltüntet a szerver vagy a böngésző!
Arról nem beszélve, hogy a szóközöket is lenyeli, ami még bosszantóbb. Tudom, cseréljem  -re...
(imádom az ilyen nagyképűsködő beszólásokat, na... Különösen, hogy eszerint te sem ismered az általad hivatkozott referenciát:
< >)

Ismerem, csak egyszerűbb volt, és nem maradt ki belőle semmi olyan, ami miatt ne lett volna érthető ;)
Különben meg, ha valóban segíteni akarsz: http://myeasywww.appspot.com/

Mert ha kimarad a beküldött szövegből ez-az, akkor nem lesz segítségére senkinek.

Pl:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>

És csak +1 CopyPaste
--
PtY - www.onlinedemo.hu


undef $/;
($file = <>) =~ /^(.*?)\n/;
$cols = ($1 =~ tr/;/;/) + 1;
@lines = split(/[;\n]/, $file);
print $lines[$ARGV[1] * $cols + $ARGV[0]]

./valami.pl file oszlop sor