Fuse::Filesys::Virtual

Fuse::Filesys::Virtual は Filesys::Virtualで書かれたモジュールを Fuse モジュールを使ってマウントできるにするためのモジュールです。

簡単な使い方

use Fuse::Filesys::Virtual;

my $fs = Filesys::Virtual::Foo->new();
my $fuse = Fuse::Filesys::Virtual->new($fs, { debug => 1});
$fuse->main(mountpoint => '/mnt', mountopts => "allow_other");

何が面白いの?

Filesys::Virtual で書かれたモジュールを FTP や WebDAV でアクセスできるように する方法はありましたが、今度は本当のファイルシステムの一部とすることができます。

つまり、こうして作ったオブジェクトへのアクセスに、Apache を使おうが Samba を使おうが 自由、ということです。

Win32::Dokan

Dokan http://dokan-dev.net を perl から使うためのモジュールです。

簡単な使い方

  ###############################################
  # ファイルシステムを定義します
  #
  package Your::File::System;
  use Win32::Dokan::FS;

  use base qw(Win32::Dokan::FS);
  # メソッドをいろいろオーバーライドします
  ###############################################
  # 実際に呼び出すスクリプトでは
  #
  use Win32::Dokan::Mounter;
  use Your::File::System;

  my $fs = Your::File::System->new('your constructor prameters');
  my $mounter = Win32::Dokan::Mounter->new({debug_mode => 1,
			                    use_std_err => 1});
  $mounter->mount('W', $fs);

Win32::Dokan::Fuse

Win32::Dokan に Fuse.pm と同じインタフェースをつけるためのモジュールです。 これを use すると、Fuse を使っているモジュールが Windows でもそのまま 動く…はずですが現状はまだまだです