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=fee9e4d86a37036fa1bb7fc77a9408b1c95c606f;hp=6c20cedeb0efa7effe7c34b38c6146704fd62820;hb=c793253e5f2ad3ca9d60e96e07a5d87fa344ec31;hpb=f0e3c2214342d0d8a8839009b8b9c7e6bfbc7ab2 diff --git a/lib/Config/Any/Perl.pm b/lib/Config/Any/Perl.pm index 6c20ced..fee9e4d 100644 --- a/lib/Config/Any/Perl.pm +++ b/lib/Config/Any/Perl.pm @@ -3,6 +3,10 @@ package Config::Any::Perl; use strict; use warnings; +use base 'Config::Any::Base'; + +my %cache; + =head1 NAME Config::Any::Perl - Load Perl config files @@ -42,20 +46,23 @@ Attempts to load C<$file> as a Perl file. sub load { my $class = shift; my $file = shift; - return eval { require $file }; -} + my $content; -=head1 AUTHOR + unless ( $content = $cache{ $file } ) { + $content = require $file; + $cache{ $file } = $content; + } -=over 4 + return $content; +} -=item * Brian Cassidy Ebricas@cpan.orgE +=head1 AUTHOR -=back +Brian Cassidy Ebricas@cpan.orgE =head1 COPYRIGHT AND LICENSE -Copyright 2006 by Brian Cassidy +Copyright 2006-2009 by Brian Cassidy This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.