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 SNMP::Info;
|
||||||
use Try::Tiny;
|
use Try::Tiny;
|
||||||
|
use Module::Load ();
|
||||||
use Path::Class 'dir';
|
use Path::Class 'dir';
|
||||||
|
|
||||||
use base 'Exporter';
|
use base 'Exporter';
|
||||||
@@ -140,7 +141,7 @@ sub _try_connect {
|
|||||||
sprintf '[%s] try_connect with ver: %s, class: %s, comm: %s',
|
sprintf '[%s] try_connect with ver: %s, class: %s, comm: %s',
|
||||||
$snmp_args->{DestHost}, $snmp_args->{Version}, $class,
|
$snmp_args->{DestHost}, $snmp_args->{Version}, $class,
|
||||||
($comm->{community} || "v3user:$comm->{user}");
|
($comm->{community} || "v3user:$comm->{user}");
|
||||||
eval "require $class";
|
Module::Load::load $class;
|
||||||
|
|
||||||
$info = $class->new(%$snmp_args, %comm_args);
|
$info = $class->new(%$snmp_args, %comm_args);
|
||||||
$info = ($mode eq 'read' ? _try_read($info, $device, $comm)
|
$info = ($mode eq 'read' ? _try_read($info, $device, $comm)
|
||||||
@@ -154,7 +155,7 @@ sub _try_connect {
|
|||||||
$snmp_args->{DestHost}, $snmp_args->{Version}, $class,
|
$snmp_args->{DestHost}, $snmp_args->{Version}, $class,
|
||||||
($comm->{community} || "v3user:$comm->{user}");
|
($comm->{community} || "v3user:$comm->{user}");
|
||||||
|
|
||||||
eval "require $class";
|
Module::Load::load $class;
|
||||||
$info = $class->new(%$snmp_args, %comm_args);
|
$info = $class->new(%$snmp_args, %comm_args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ get '/ajax/content/statistics' => require_login sub {
|
|||||||
my $dbi_ver = $DBI::VERSION;
|
my $dbi_ver = $DBI::VERSION;
|
||||||
my $dbdpg_ver = $DBD::Pg::VERSION;
|
my $dbdpg_ver = $DBD::Pg::VERSION;
|
||||||
|
|
||||||
eval 'require SNMP::Info';
|
eval { require SNMP::Info };
|
||||||
my $snmpinfo_ver = ($@ ? 'n/a' : $SNMP::Info::VERSION);
|
my $snmpinfo_ver = ($@ ? 'n/a' : $SNMP::Info::VERSION);
|
||||||
|
|
||||||
var( nav => 'statistics' );
|
var( nav => 'statistics' );
|
||||||
|
|||||||
Reference in New Issue
Block a user