use Module::Load instead of string eval
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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' );
|
||||
|
||||
Reference in New Issue
Block a user