in reply to What is the + in +shift doing here?

Unary plus is a NOP. However, it prevents from what follows being interpreted as a bareword, and hence, from being autoquoted. It shouldn't be necessary in this case, but it could be older versions of perl were confused. Or it was part of some older (now gone) code that required the +. Or the author has a habit.

It's not necessary in this case. But in the following case, it would:

sub get {$some_hash{+shift}->("get",@_)}
Without the +, it's equivalent to:
sub get {$some_hash{"shift"}->("get",@_)}
but with the +, it's equivalent to:
sub get {$some_hash{shift(@_)}->("get",@_)}
But that's more typing.