in reply to strange behaviour in perl ..please explain

You should know how to format your posts, read Markup in the Monastery.
D:\>cat bob $var=1; print"yes",print"no" if ($var) D:\>perl -MO=Deparse,-p bob ($var = 1); ($var and print('yes', print('no'))); bob syntax OK
B::Deparse