use strict; use warnings; my $inputFile = <>; open my $inputFH, q{<}, $inputFile or die qq{open: < $inputFile: $!\n}; #### $ cat spw718152.dat SNPSTER2_50_3_1_119_588 10 SNPSTER2_50_3_1_121_522 16 SNPSTER2_50_3_1_119_260 27 $ ./spw718152 spw718152.dat Unsuccessful open on filename containing newline at ./spw718152 line 8, <> line 1. open: < spw718152.dat : No such file or directory $ #### use strict; use warnings; use Data::Dumper; chomp( my $inputFile = <> ); open my $inputFH, q{<}, $inputFile or die qq{open: < $inputFile: $!\n}; my %dataItems = map { split } <$inputFH>; close $inputFH or die qq{close: < $inputFile: $!\n}; print Data::Dumper->Dumpxs( [ \ %dataItems ], [ q{*dataItems} ] ); #### $ ./spw718152 spw718152.dat %dataItems = ( 'SNPSTER2_50_3_1_121_522' => '16', 'SNPSTER2_50_3_1_119_588' => '10', 'SNPSTER2_50_3_1_119_260' => '27' ); $