in reply to Martin Brown book page 33

I am reading DeBUGGING PERL by Martin Brown

Personally I'd recommend putting it in the bin and going and buying a good book on Perl instead :-) It's one I would never recommend. Try the Llama book, or Peter Scott's Perl Debugged.

So where does that last digit '1' come from? Why isn't it just

I think you'll find that there are two "1"s at the end. They are the result of calling the first() and second() subroutines. If you don't have a explicit return the last value returned in the subroutine is returned. The print in first() and second() both return "1" after a successful print. So:

 print(2,3,first,second);

becomes

 print(2,3,1,1);