in reply to What does this mean? "return -$!"

The variable $! is a dualvar. Used in string context, it returns test describing the last system error. Used in numeric context it returns a number identifying the last system error.

Adding a minus in front of it supplies a numeric context. Of course, it means that instead of getting, say, 2 (No such file or directory) you get -2 instead.

But in the case of Fuse, that module's documentation states that its functions use the convention of returning a negative number to indicate an error condition. Given that convention, returning -$! for system errors is quite a good solution.

That said, using return values to indicate error conditions is generally frowned upon in programming languages such as Perl which have vaguely usable exception handling.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'