Я пытаюсь реализовать плагин munin slapd_
, написанный на perl, о котором я почти ничего не понимаю. Полный плагин доступен здесь . Вот ошибка, которую я получаю:
Use of uninitialized value in concatenation (.) or string at
/etc/munin/plugins/slapd_localhost line 232, <DATA> line 275.
Это строка 232:
my $searchdn = $ops{$action}->{'search'} . "," . $basedn;
Я попытался отладить, выведя все переменные / объекты следующим образом:
use Data::Dumper; # top of script
# [...]
print Dumper(%ops);
print "action = [$action]\n";
print "basedn = [$basedn]\n\n";
my $searchdn = $ops{$action}->{'search'} . "," . $basedn;
Когда я запускаю его снова, вот что я получаю:
[...] # 15 other variables belonging to $ops
$VAR16 = {
'info' => 'The graph shows the number of Waiters',
'search' => 'cn=Waiters',
'desc' => 'The current number of Waiters',
'filter' => '(|(cn=Write)(cn=Read))',
'title' => 'Number of Waiters',
'label2' => {
'read' => 'Read',
'write' => 'Write'
},
'vlabel' => 'Waiters'
};
action = [localhost]
action = [cn=Monitor]
Use of uninitialized value in concatenation (.) or string at /etc/munin/plugins/slapd_localhost line 237, <DATA> line 275.
Поскольку все переменные, кажется, установлены, я действительно не понимаю сообщение об ошибке, которое я получаю
В: Кто-нибудь может посоветовать, как отлаживать этот скрипт?