Once you get used to it and read some of the libfuse documentation, Fuse.pm is easy to use and quite Perlish. As of v0.09 this module won't pass tests on Mac OS X but it works just fine with MacFUSE. A significant point of confusion (and not truly Fuse.pm's fault) is that the FUSE API itself is evolving and is accreting new methods. It's not at all clear without trial-and-error what's the minimum number of methods that you must implement to get your filesystem to work.
The unit tests are hopelessly Linux-centric. I suspect that they will have to be largely rewritten to support other operating systems (if, say, WinFUSE ever appears). As is, I had to do a ton of work just to get them to almost-pass on Mac.
Very cool to write filesystems in Perl. Needing to convert numeric extended attribute values to strings to avoid misinterpretation as error codes is strange & un-perl (ie. in getxattr: return $value . '')