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

  • Автор темы sergeyfromkomi
  • Дата начала
S

sergeyfromkomi

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

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

}
как видно если $stdat2[9] < 50000, то на терминал выводить "1", а КАК дописать/исправить это условие чтоб "1" выводилось на терминал даже если $stdat2[9] принимала не числовые значения..... (Active или Idle)
 
N

nws

Гость
#2
PHP:
if ( ($stdat2[9] < 50000 || strlen($stdat2[9]) ) and ($status == 0) )
{
print ("1 \n");

}
 
S

sergeyfromkomi

Гость
#3
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");


}