[Vienna-pm] datei zeilenweise einlesen in arrays
peter pilsl
pilsl at goldfisch.at
Tue Mar 8 04:45:28 PST 2005
e_horn at fh-bingen.de wrote:
> Hallo!
> Kann mir jemand sagen wie ich eine solche datei zeilenweise speichern kann in
> ein array?
> das ich habe array VAL B 212 -2.882 24.626 111.287
> array VAL B 212 -3.542 25.442 110.620
> array VAL B 212 -1.026 24.015 109.761 usw...
>
> ATOM 3085 C VAL B 212 -2.882 24.626 111.287 1.00 23.12 C
> ATOM 3086 O VAL B 212 -3.542 25.442 110.620 1.00 22.42 O
> ATOM 3087 CB VAL B 212 -1.026 24.015 109.761 1.00 23.40 C
> ATOM 3088 CG1 VAL B 212 -0.032 24.644 110.725 1.00 22.89 C
> ATOM 3089 CG2 VAL B 212 -0.369 22.913 108.945 1.00 24.23 C
> ATOM 3090 OXT VAL B 212 -2.701 24.727 112.521 1.00 24.52 N
>
ich checks nicht ganz, wie dein datenformat ist und was du damit genau
willst, aber ein beispiel zum verarbeiten deiner daten wäre in etwa
(untested)
my $p=[];
while (<FH>) {
push(@$p,[split(/\s+/)]);
}
mit split trennst du deine daten überall dort wo deine daten leerzeichen
oder tabs oder so haben (whitespaces = \s)
das ergebnis von split ist ein array, das du wieder in einem array
speicherst. Du erhältst also ein array von arrays. Die eckigen Klammern
zeigen, dass es sich dabei um sogenannte "anonyme" arrays handelt, das
sind zeiger auf arrays.
am ende kannst du dann das 4. element in der 7. zeile abfragen:
$p->[3]->[6]
lgp
--
mag. peter pilsl
goldfisch.at
IT-management
tel +43 699 1 3574035
fax +43 699 4 3574035
pilsl at goldfisch.at
More information about the Vienna-pm
mailing list