From 50c72c1d648d241af058352b2e9160856d918401 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Sat, 10 May 2014 21:12:52 +0100 Subject: [PATCH] use Module::Load for dynamic loading --- Netdisco/Makefile.PL | 1 + Netdisco/lib/App/Netdisco/Web.pm | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Netdisco/Makefile.PL b/Netdisco/Makefile.PL index 81b8fe87..1c3fb16a 100644 --- a/Netdisco/Makefile.PL +++ b/Netdisco/Makefile.PL @@ -26,6 +26,7 @@ requires 'HTTP::Tiny' => 0.029; requires 'JSON' => 0; requires 'List::MoreUtils' => 0.33; requires 'MIME::Base64' => 3.13; +requires 'Module::Load' => 0.32; requires 'Moo' => 1.001000; requires 'MCE' => 1.408; requires 'Net::Domain' => 1.23; diff --git a/Netdisco/lib/App/Netdisco/Web.pm b/Netdisco/lib/App/Netdisco/Web.pm index c39a6ce1..dab64938 100644 --- a/Netdisco/lib/App/Netdisco/Web.pm +++ b/Netdisco/lib/App/Netdisco/Web.pm @@ -10,6 +10,7 @@ use Socket6 (); # to ensure dependency is met use HTML::Entities (); # to ensure dependency is met use URI::QueryParam (); # part of URI, to add helper methods use Path::Class 'dir'; +use Module::Load (); use App::Netdisco::Util::Web 'interval_to_daterange'; use App::Netdisco::Web::AuthN; @@ -34,8 +35,7 @@ sub _load_web_plugins { $plugin =~ s/^\+//; debug "loading Netdisco plugin $plugin"; - eval "require $plugin"; - error $@ if $@; + Module::Load::load $plugin; } }