It is just a way of disambiguating the shift (or any other function name for that matter) in a location where it might be mistaken for another bareword lexical item. You will often find this (most commonly IMO) in print statements such as:
where the join would be misparsed as being a filehandle rather than a function.print +join '', @array;
The reason that the unary + is used is that it is syntactically valid (for reasons of symmetry I guess) but is a no-op.
/J\
In reply to Re: What is the + in +shift doing here?
by gellyfish
in thread What is the + in +shift doing here?
by tphyahoo
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |