ОБСУЖДЕНИЕ

интерестный вопрос от инжен. Cisco

2 ответов 4,9 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Добрый день ув. программисты..! Наверно для вас этот вопрос покажется смешным...я не программист заним. Cisco(пишу скрип для неё)

Переменная $stdat2[9] чащего всего принимает числовое значение... но иногда она может принять такие: Active или Idle.
У меня есть такое условие :
Код:
if ( ($stdat2[9] < 50000) and ($status == 0) )
{
print ("1 \n");

}
как видно если $stdat2[9] < 50000, то на терминал выводить "1", а КАК дописать/исправить это условие чтоб "1" выводилось на терминал даже если $stdat2[9] принимала не числовые значения..... (Active или Idle)
 
PHP:
if ( ($stdat2[9] < 50000 || strlen($stdat2[9]) ) and ($status == 0) )
{
print ("1 \n");

}
 
PHP:
if ( ($stdat2[9] < 50000 || strlen($stdat2[9]) ) and ($status == 0) )
{
print ("1 \n");

}
как выключить режим отображения предупреждающих сообщений?
вот что выдаёт:
perl /usr/local/etc/zabbix/externalscripts/bgp.check.old
Argument "Idle" isn't numeric in numeric lt (<) at /usr/local/etc/zabbix/externalscripts/bgp.check.old line 18, <F1> line 1.
а вот сам скрипт...
Код:
#!/usr/bin/perl

use Net::Telnet::Cisco;
my $session = Net::Telnet::Cisco->new(Host => '172.16.Y.Y' );
$session->login('4444444','44444444444');


my @sinterra = $session->cmd('show ip bgp summary | include x.x.x.x');

$datSIN=$sinterra[0];

@stdat2=split /\s+/,$datSIN;


open (F1,"<SINT.dat");
$status=<F1>;
close (Fl);
if ( ($stdat2[9] < 50000 || strlen($stdat2[9]) ) and ($status == 0) )

#if ( int(($stdat2[9]) < 50000) and ($status == 0) )
{
print ("1 \n");


}