%magichash; &magic(\%magichash, '/path/to/file/fn'); print $magichash{'/path/to/file/fn'}; sub magic { my $handle; if (open($handle, $_[1])) { $_[0]->{$_[1]} = join('', <$handle>); close($handle); return 1; } }