diff --git a/lib/AccountManager/App.pm b/lib/AccountManager/App.pm
index 0169f61efc25d76f3d8f2bc5154bc3143ac967d8..c0d6eabaa4d78cb7fffdbddd39db41870a7da71c 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