Update 2011: Well, I haven’t done anything with Perl in the last couple of years, but to update this Page: FuseFTP is now up on Github, you can fork it there.
Well, as I mentioned earlier, 2.6.14 has this nifty new FUSE feature, allowing the implementation of a file system in userspace. Unfortunately, there was no implementation of a FTP filesystem. Fortunately, there are Perl bindings for FUSE🙂.
One can implement a userspace filesystem using the whole power of Perl, and that makes it quite easy. I implemented a basic ftp filesystem this morning, which uses Fuse.pm and Net::FTP to allow read only access to ftp servers. It works quite well and was really easy, so this might be the beginning of a couple of nice userspace filesystems written in Perl. I could actually create MegasusFS….
Usage is quite easy, you can simply:
marcus@hal2000:~: mkdir kernel marcus@hal2000:~: fuseftp kernel/ ftp.kernel.org & Successfully logged into ftp.kernel.org  7150 marcus@hal2000:~: cd kernel/ marcus@hal2000:~/kernel: ls for_mirrors_only lost+found pub usr welcome.msg marcus@hal2000:~/kernel: cd .. marcus@hal2000:~: fusermount -u kernel/ + Done fuseftp kernel/ ftp.kernel.org