#!/usr/bin/perl use warnings; use strict; my @values = ( '123=more digits', '04=critical', '02=informational', '01=unknown', '10=test', '03=warning', '08=foo', ); @values = map { $_->[1] } sort { $a->[0] <=> $b->[0] } map { [ ( split /=/ )[0], $_ ] } @values; print "@values\n";