#!/usr/bin/perl use strict; use warnings; my $file='test.gro'; my @koordinates; open(my $fh, '<', $file) or die("Die Datei $file konnte nicht geöffnet werden ($!)\n"); while($line=<$fh>) { # nächste Zeile wenn $line kein "SOL" enthält next unless($line=~/SOL/); # Zeilenumbruch am Ende entfernen chomp($line); # an den Leerzeichen splitten my @values=split(/\s+/,$line); # werte zuweisen my $xw=$values[2]; my $yw=$values[3]; my $zw=$values[4]; # zweidimensionales Array erzeugen # "[ ... ]" ist ein anonymes Array push(@koordinates,[$xw,$yw,$zw]); } close($fh); # nach Dritter Spalte Sortieren. my @sorted=sort{$a->[2] <=> $b->[2]}@koordiantes; # Ausgabe print join(',',@$_)."\n" for(@sorted); # auf einen Wert zugreifen: print "Erste Zeile Ditte Spalte: ".$koordiantes[0][2]."\n";