use Data::Dumper; use strict; use warnings; my $arr = ['A -4 C','C -4 B','B -4 A','A -2 C','C -3 B']; my @a = map {[split " ", $arr->[$_] . " $_"]} (0 .. @$arr - 1); print Dumper(\@a);