in reply to Strange "Useless use of constant" message: should not appear at all!

others have addressed your problem, however, the reason for the warning only showing up at the last of the elsif's can be shortened to this:
perl -wle'-2; -1; 0; 1; 2;' Useless use of a constant in void context at -e line 1. Useless use of a constant in void context at -e line 2. Useless use of a constant in void context at -e line 5.
1 or 0 in void context aren't treated as useless. that's why you can write 1; at the end of a module, and, uhm, i can't think of an example for the zero at the moment...