@data = ; @sorted = sort { ($a <=> $b) || ($a cmp $b) } @data; foreach (@sorted){ print; } __DATA__ 1.1.a 20.2 2.3.a 2.3.d 2.2 2.1.a 9.1.e 9.1.f 10.1.b 20.2 15.2.c