in reply to How to save first two columns of an array into another array
Since your data file seems to be a text file (like a csv only with whitespace as separator) you could consider using Text::CSV_XS:
Update: Typo corrected.
Output of a Data::Dumper print statement is:#!/usr/bin/perl use strict; use warnings; use Text::CSV_XS; use Data::Dumper; my $param = { binary => 1, auto_diag => 1, sep_char => ' ', eol => $/, }; my %hash; my $csv = Text::CSV_XS->new ( $param ); while ( my $row = $csv->getline( *DATA ) ) { print "@$row[0,1]\n"; # or whatever. $hash{$row->[0]} = $row->[1]; # read into a hash. } print Dumper \%hash; __END__ b c a a c d d e b
$VAR1 = { 'a' => 'c', 'b' => 'c', 'd' => 'e' };
Update: Typo corrected.
In Section
Seekers of Perl Wisdom