Filesys::Virtual::DPAP - Filesys::Virtual interface to DPAP (iPhoto) shares


        use Filesys::Virtual::DPAP;

        my $fs = Filesys::Virtual::DPAP->new({
                host => 'localhost'

        my @albums = $fs->list('/');
        my @photos = $fs->list(@albums);


This module is based on Richard Clamp's awesome Filesys::Virtual::DAAP module - many thanks to Richard for all his rad Perl contributions!

Most of this module's functionality is provided by Leon Brocard's way cool Net::DPAP::Client - thanks also to Leon, for many likewise terrific Perl modules!

This module currently implements only a limited subset of Filesys::Virtual methods, but like Filesys::Virtual::DAAP, it can republish DPAP shares, via either Net::DAV::Server or POE::Component::Server::FTP


Jack Bates <>


Copyright (c) 2005 Jack Bates. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


So far so good - except for some strangeness actually reading photos using OS X's WebDAVFS; in my experience, doing so causes script sharing Filesys::Virtual::DPAP to silently terminate.

I experience this problem publishing Filesys::Virtual::DPAP using both HTTP::Daemon & POE::Component::Server::HTTP - I tracked it down to 'print $response->content' lines in both modules.

Strangely, reading photos using Firefox, etc. or even Cadaver works fine - even adjusting the file extension so OS X thinks photos are actually QuickTime files enables photos to be read.

At this point, I can only speculate that OS X does something funky to the HTTP connection when reading photos - like maybe it's closed when Perl tries writing the response content & Perl commits suicide.

I could sure use some help with this one!

Report bugs using the CPAN RT system -


 * Explore exporting extra DPAP properties as WebDAV properties - in a 'DPAP'

 * Explore writing DPAP structures back to sufficiently capable DPAP servers.


Net::DPAP::Client, Net::DAV::Server, POE::Component::Server::FTP