selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

Daten in Array mit Spalten schreiben

Autor: ElPresidente
Datum: 05.06.2012 21:29:23

Hi.
Ich habe eine Textdatei, die x,y und z-Koordinaten enthält. Diese sieht wie folgt aus:

334SOL OW15814  3.426 1.939 7.248
334SOL HW115815 3.502 1.899 7.293
334SOL HW215816 3.406 1.878 7.177

Diese Koordinaten möchte ich aus der Textdatei auslesen und in ein Array schreiben. Eingelesen wird die Textdatei zeilenweise:

#!/usr/bin/perl

open (IN,"<test.gro") or die "Die Datei wurde nicht gefundenn";        
while (<IN>)
{
if ($_ =~ m/SOL/)
                $zw = substr($_,39,5);
                $xw = substr($_,23,5);
                $yw = substr($_,31,5);
}
close(IN);

Das Array sollte folgenden Aufbau besitzen:

z1 x1 y1
z2 x2 y2
z3 x3 y3

Daraufhin möchte ich die Zeile mit dem niedrigsten z-Wert an den Anfang des Arrays stellen. Also z.B. ist z3 < z1 und z1 < z2, dann soll mein Array so aussehen:

z3 x3 y3
z1 x1 y1
z2 x2 y2

Ich hoffe ihr könnt mir weiterhelfen.



Re: Daten in Array mit Spalten schreiben

Autor: kicia
Datum: 07.06.2012 09:48:09

> Diese Koordinaten möchte ich aus der Textdatei
> auslesen und in ein Array schreiben...

Ausgelesen hast Du's ja schon.
Für Arrays (bzw. Lists) siehe:
http://perldoc.perl.org/perldata.html#List-value-constructors
Ansonsten Suchbegriffe zum Thema Array: "perl array"

> Daraufhin möchte ich die Zeile mit dem
> niedrigsten z-Wert an den Anfang des Arrays
> stellen. Also z.B. ist z3 < z1 und z1 < z2,
> dann soll mein Array so aussehen:

Da brauchst Du eine Sortier Funktion.
siehe zB.:
http://perldoc.perl.org/functions/sort.html

Oder Suchbegriffe: perl sorting