use strict; use warnings; use Data::Dumper; my %hash; my $loadedFile = do {local $/=undef; }; { no strict; eval ($loadedFile); if ($@) {print 'eval error:'.$@."\n"; } } my $hashData = $hash{Scope}{model}; my @dereferencedData = @$hashData; print "Data: \n", Dumper (\@dereferencedData), "\n"; __DATA__ %hash = ( #scope changes Scope => { model => [ 'data I need', 'another row of needed data', 'more data I need' ] }, IrreleventScope =>{ a=>'b' } );