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

Тема в разделе "Perl программирование", создана пользователем sergeyfromkomi, 22 апр 2010.

Наш партнер Genesis Hackspace
  1. sergeyfromkomi

    sergeyfromkomi Гость

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

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

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

    nws Гость

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

    }
     
  3. sergeyfromkomi

    sergeyfromkomi Гость

    как выключить режим отображения предупреждающих сообщений?
    вот что выдаёт:
    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.
    а вот сам скрипт...
    Код (Text):
    #!/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");


    }
     
Загрузка...

Поделиться этой страницей