http://www.perlmonks.org?node_id=1002050


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

$! is the last error from syscall/library call (like errno in C). Fuse functions should return standard error codes in case of errors, and they should be less than zero because positive number can mean a file descriptor or comething else. Thus, -$! is returned as it is (minus) error code from the last system or library call which caused the error.
Sorry if my advice was wrong.