use Data::Dumper; my @a = ("image1.jpg:100:250:1062352538", "image2.jpg:650:175:1062340359"); @a = sort {(split(":", $a))[-1] <=> (split(":", $b))[-1]} @a; print Dumper(\@a);