EffectivePerlに載ってたんだけど

print "hello, " && print "goodbye.";
が
goodbye1
になるのはなぜ?

print "hello, " and print "goodbye.";
ならきちんと
hello, goodbye
となる

andと&&の優先順位の違いが原因だろうとは
思うんだけど具体的に何が起こっているのかわからない