I'm using File::Slurp
#!/usr/bin/perl
use strict;
use warnings;
use File::Slurp;
use Data::Dumper;
$file="config.txt";
my %record =map{
s/#.*//;
s/^\s+//;
s/\s+$//;
m/(.*?)\s*=\s*(.*)/;
} read_file($file);
print Dumper (\%record);
The dump from my code is
$VAR1={
'Name' =>John Smith',
'URL' => '15',
'RANK' => 'Tier 1',
'URL' => 'http://somesite.com'
};
but when the data is in the code, the dump is
$VAR1= bless( {
'Name' =>John Smith',
'URL' => '15',
'RANK' => 'Tier 1',
'URL' => 'http://somesite.com'
}, 'REC' );