#! /usr/bin/perl use strict; use warnings; my @order = qw( 29 20 31 5 18 36 17 3 16 9 27 32 25 35 11 10 23 4 26 12 24 30 6 15 13 2 21 19 14 33 22 7 34 8 1 28 ); my @items = qw( 7 12M 3 4 17CG 25 33 ); my %items_hash; for my $key (@items) { ( my $copy = $key ) =~ tr/0-9//cd; $items_hash{$copy}=$key; } my @folge; my $fpos=0; my $elm; for ( @order ) { $elm=delete($items_hash{$_}); $folge[$fpos++]=$elm if(defined($elm)) } print "@folge\n";