use strict; use Tie::File; my @array; tie @array, 'Tie::File', 'test.data'; @array = sort {(split / /, $a)[1] cmp (split / /, $b)[1]} @array; untie @array;