#!/usr/bin/perl -w use strict; use Data::Dumper; my @array = ('nfs,7,rw', 'afp,12,rro', 'cifs,32,ro', 'dns,5,rw', ); my $cols = []; foreach my $row (0..$#array) { my @cols = split /,/, $array[$row]; map {$cols->[$_]->[$row] = $cols[$_]} (0..$#cols); } print Dumper($cols); #### $VAR1 = [ [ 'nfs', 'afp', 'cifs', 'dns' ], [ '7', '12', '32', '5' ], [ 'rw', 'rro', 'ro', 'rw' ] ];