my @arr1; foreach my $val (@arr) { $val =~ s/TEXT//gx; push @arr1, $val; } foreach my $val1 (sort {$a <=> $b} @arr1) { my $text = 'TEXT'.$val1; push @newArr, $text; }