X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FConfig-Any.git;a=blobdiff_plain;f=lib%2FConfig%2FAny%2FPerl.pm;h=6a5d7ade3fda795d3a45140214d2f2ec1503bf1a;hp=ed3752bd339fe4b2e1a0dec7fd5486a425d55561;hb=4748f060c5038b49fa96c3be95b28deb88a7a323;hpb=a918b0b8b7952db918dfabb8dc72bf34832d43d0 diff --git a/lib/Config/Any/Perl.pm b/lib/Config/Any/Perl.pm index ed3752b..6a5d7ad 100644 --- a/lib/Config/Any/Perl.pm +++ b/lib/Config/Any/Perl.pm @@ -3,7 +3,7 @@ package Config::Any::Perl; use strict; use warnings; -my %cache; +use base 'Config::Any::Base'; =head1 NAME @@ -44,12 +44,14 @@ Attempts to load C<$file> as a Perl file. sub load { my $class = shift; my $file = shift; - my $content; - unless ( $content = $cache{ $file } ) { - $content = eval { require $file }; - $cache{ $file } = $content; + my( $exception, $content ); + { + local $@; + $content = do $file; + $exception = $@; } + die $exception if $exception; return $content; } @@ -60,7 +62,7 @@ Brian Cassidy Ebricas@cpan.orgE =head1 COPYRIGHT AND LICENSE -Copyright 2007 by Brian Cassidy +Copyright 2006-2013 by Brian Cassidy This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.