#!/usr/local/bin/perl -w use strict; my @data; my $file='data_file'; open( DATA , $file); @data=; close(DATA); print @data; while (<$data>) { my @fields = split ' '; for my $row (0..$#fields) { push @{$data[$row]}, $fields[$row]; } } use Data::Dumper; print Dumper \@data;