Things you may not have seen are:
- a virtual filesystem in the Make tests: https://github.com/klp2/Make/blob/master/t/make.t (the Make module has an abstracted filesystem to make testing it practicable without the File::Temp torture needed in EUMM testing)
- a virtual sort-of filesystem in App::cpanel which implements an async sort-of WebDAV-like thing to do two-way mirroring of a cPanel website
The latter I wanted to make more general as a "mirror this into that", so the "this" and "that" could be things like a remote website, or an XML document, or a database, or... But I haven't done it yet.