#!/usr/bin/perl use strict; use warnings; my @unsorted; my @sorted; while () { push @unsorted, [split /\s+/, $_]; } @sorted = sort { $a->[3] <=> $b->[3] } @unsorted; print join " ", @$_, "\n" for @sorted; _ _DATA_ _ Firma1 8263112 94626384523 16 Firma2 8263112 94626384523 33 Firma3 8263112 94626384523 04