use Module::Load instead of string eval

This commit is contained in:
Oliver Gorwits
2014-06-22 17:36:12 +01:00
parent e700b41fa6
commit 2eb3343de8
2 changed files with 4 additions and 3 deletions

View File

@@ -6,6 +6,7 @@ use App::Netdisco::Util::Permission qw/check_acl/;
use SNMP::Info;
use Try::Tiny;
use Module::Load ();
use Path::Class 'dir';
use base 'Exporter';
@@ -140,7 +141,7 @@ sub _try_connect {
sprintf '[%s] try_connect with ver: %s, class: %s, comm: %s',
$snmp_args->{DestHost}, $snmp_args->{Version}, $class,
($comm->{community} || "v3user:$comm->{user}");
eval "require $class";
Module::Load::load $class;
$info = $class->new(%$snmp_args, %comm_args);
$info = ($mode eq 'read' ? _try_read($info, $device, $comm)
@@ -154,7 +155,7 @@ sub _try_connect {
$snmp_args->{DestHost}, $snmp_args->{Version}, $class,
($comm->{community} || "v3user:$comm->{user}");
eval "require $class";
Module::Load::load $class;
$info = $class->new(%$snmp_args, %comm_args);
}
}

View File

@@ -57,7 +57,7 @@ get '/ajax/content/statistics' => require_login sub {
my $dbi_ver = $DBI::VERSION;
my $dbdpg_ver = $DBD::Pg::VERSION;
eval 'require SNMP::Info';
eval { require SNMP::Info };
my $snmpinfo_ver = ($@ ? 'n/a' : $SNMP::Info::VERSION);
var( nav => 'statistics' );