From eb1a677a7b7680dd3467284d552865cb7d3082a3 Mon Sep 17 00:00:00 2001
From: Guillaume Rousse <guillaume.rousse@renater.fr>
Date: Mon, 3 Sep 2018 15:58:41 +0200
Subject: [PATCH] use UNIVERSAL::require for runtime modules loading

---
 lib/AccountManager/App.pm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/lib/AccountManager/App.pm b/lib/AccountManager/App.pm
index 0169f61..c0d6eab 100644
--- a/lib/AccountManager/App.pm
+++ b/lib/AccountManager/App.pm
@@ -11,6 +11,7 @@ use Log::Any::Adapter;
 use List::MoreUtils qw(uniq);
 use Template;
 use Template::Constants qw(:chomp);
+use UNIVERSAL::require;
 
 use AccountManager::Account;
 use AccountManager::Metadata;
@@ -154,7 +155,7 @@ sub run {
     my ($self) = @_;
 
     if ($self->{logger}->is_debug()) {
-        require Data::Dump;
+        Data::Dump->require();
         my %parameters = $self->{cgi}->Vars();
         $self->{logger}->debugf("input parameters: %s", Data::Dump::dump(\%parameters));
     }
@@ -460,8 +461,8 @@ sub req_complete_challenge {
     $tt2->process('send_authentication_token.tt2.html', $data, \$html_content);
 
     # wrap in message
-    eval "require Email::MIME";
-    eval "require Email::Sender::Simple";
+    Email::MIME->require();
+    Email::Sender::Simple->require();
 
     my $message = Email::MIME->create(
         header_str => [
@@ -633,7 +634,7 @@ sub req_download_accounts {
         -content_disposition => 'attachment; filename="accounts.csv"'
     );
 
-    eval "require Text::CSV";
+    Text::CSV->require();
     my $csv = Text::CSV->new({ binary => 1, eol => "\r\n", quote_space => 0 });
     $csv->print(\*STDOUT, [ qw/
         username
-- 
GitLab