in reply to Difference between Inputs taken from __DATA__ and STDIN.

Ok, you say what your expected result is, but what do you actually get? Does either mode of reading input give the correct result? That "expected result" doesn't look at all like what the script actually produces. First of all, there are more input cases than just "fa" and "gigabit". And I assume that "Command not found" means "fail".

When I tried it, I got the same result both ways, and it showed "success" for all four of the cases you mention in your "expected result". However, I do see some "Command not found" results for other cases, such as the "fastethernet" ones.

I'm guessing you might have line ending issues. Some spurious "\r" characters in the input?

A word spoken in Mind will reach its own level, in the objective world, by its own weight

Replies are listed 'Best First'.
Re^2: Difference between Inputs taken from __DATA__ and STDIN.
by raghrao (Novice) on Aug 20, 2007 at 13:16 UTC
    Hi,
    Yeah command not found means fail. But when I enter say,
    fa 0/1 enable
    from windows command prompt I get the message
    Success..
    E:\Documents and Settings\raghrao>commandparser01.pl fa 0/1 enable SUCCESSfa 0/1 enable success ------------------ gigabit 0/1 asdf SUCCESSgigabit 0/1 asdf success ------------------

    where as it should have been fail,as per the grammar defined. I am not sure if this is windows conmmand prompt issue ?.
    I want the user to enter only (fa|gigabit) 0/1
    If user enters extra word it should have been a fail case(command not found)..
    Thanks and Regards
    Raghu