in reply to Empty string checking in output

if(@output ne '')
That will always evaluate to true since an array evaluated in scalar context returns the number of elements (0, 1, 2, etc.); it will not return the empty string. Perhaps this will be better:
if(@output)

Replies are listed 'Best First'.
Re^2: Empty string checking in output
by Kumar Mantri (Novice) on Aug 17, 2011 at 05:02 UTC

    tulic , i tried that but the else block is not executing. i can explain the behavior of the cisco device if a particular command is not present... if i telnet into cisco device it will show as

    2960#
    here at this prompt i want to check one command i.e
    2960#sh run | in ntp
    if the configuration is not present then it will show as same
    2960#
    so at this time the in array @output doesn't contain anything but i dont know why the else block is not executing

      ... the in array @output doesn't contain anything but ... the else block is not executing ...

      ... because, contrary to what you think, the  @output array contains something. Try printing/dumping the contents of the array. Also, what code are you actually running?

      >perl -wMstrict -le "my @output = (); ;; if (@output) { print qq{true clause: array not empty}; } else { print qq{false clause: array empty}; } " false clause: array empty

        yes,i executed the block of code above its printing "true clause: array not empty" but how to find exactly what is there in that?i wrote dis code to check a configuration in cisco devices.