Если у вас есть связанные ключи и значения, тогда я бы сказал, что сначала вы хотите преобразовать массив в хеш:
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
my @array = ([3,4,1,2], ["Black","Orange","White","Blue"]);
my %mapping;
#Assign 'first array' as keys, and second array as values.
@mapping{@{$array[0]}} = @{$array[1]};
#for debugging
print Dumper \%mapping;
my @sorted_keys = sort keys %mapping;
print join (",", @sorted_keys),"\n";
print join (",", @mapping{@sorted_keys} ),"\n";
Я остановился на тривиальном случае с присваиванием хеш-фрагмента, но он позволяет вам выполнять произвольные сортировки и поддерживать отношение ключ-значение.
Вы также можете адаптировать это для многострочного ввода, сохраняя отношения столбцов, хотя это немного усложняется: вы не можете использовать назначение хеш-фрагмента, как я делал больше, но вы можете построить каждую строку в пары ключ-значение и либо напечатайте их, либо объедините, чтобы получить только один хэш столбчатых значений.