in reply to Re: Checking Wrong Condition
in thread Checking Wrong Condition

thanks for the response.

yes. i am using the if condition in my subroutine. can you please explain more about wantarray. i read in perldoc. but couldnt understand much as how it will work here..

Replies are listed 'Best First'.
Re^3: Checking Wrong Condition
by 2teez (Vicar) on Apr 26, 2012 at 00:23 UTC

    Subroutine can return both scalar and list context values, so return a list context values as in our case here. One can use wantarray() to tell which context as stated in the perldoc -f wantarray documentation, and I quote "Returns true if the context of the currently executing subroutine or "eval" is looking for a list value. Returns false if the context is looking for a scalar. Returns the undefined value if the context is looking for no value (void context)."

    E.g:

    my @values=get_values(); # subroutine called print @values; ## print 12345 not 1,2,3,4,5 sub get_values{ my @init_val=grep $_=>1..5; if(wantarray){ # test list context return @init_val; }else{return join",",split} }