Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
NAME Filesys::Virtual::Plain - A Plain virtual filesystem SYNOPSIS use Filesys::Virtual::Plain; my $fs = Filesys::Virtual::Plain->new(); $fs->login('xantus', 'supersekret'); print foreach ($fs->list('/')); DESCRIPTION This module is used by other modules to provide a pluggable filesystem. CONSTRUCTOR new() You can pass the initial cwd, root_path, and home_path as a hash. METHODS login($username, $password, $become) Logs in a user. Returns 0 on failure. If $username is 'anonymous' then it will try to login as 'ftp' with no password. If $become is defined then it will try to change ownership of the process to the uid/gid of the logged in user. BEWARE of the consequences of using $become. login() also sets the uid, gid, home, gids, home_path, and chdir to the users'. cwd Gets or sets the current directory, assumes / if blank. This is used in conjunction with the root_path for file operations. No actual change directory takes place. root_path($path) Get or set the root path. All file paths are off this and cwd For example: $self->root_path('/home/ftp'); $self->cwd('/test'); $self->size('testfile.txt'); The size command would get the size for file /home/ftp/test/testfile.txt not /test/testfile.txt chmod($mode,$file) chmod's a file. modtime($file) Gets the modification time of a file in YYYYMMDDHHMMSS format. size($file) Gets the size of a file in bytes. delete($file) Deletes a file, returns 1 or 0 on success or failure. chdir($dir) Changes the cwd to a new path from root_path. Returns undef on failure or the new path on success. mkdir($dir, $mode) Creats a directory with $mode (defaults to 0755) and chown()'s the directory with the uid and gid. The return value is from mkdir(). rmdir($dir) Deletes a directory or file if -d test fails. Returns 1 on success or 0 on failure. list($dir) Returns an array of the files in a directory. list_details($dir) Returns an array of the files in ls format. stat($file) Does a normal stat() on a file or directory test($test,$file) Perform a perl type test on a file and returns the results. For example to perform a -d on a directory. $self->test('d','/testdir'); See filetests in perlfunc (commandline: perldoc perlfunc) open_read($file,[params]) Opens a file with IO::File. Params are passed to open() of IO::File. It returns the file handle on success or undef on failure. This could be technically be used for any sort of open operation. See IO::File's open method. close_read($fh) Performs a $fh->close() open_write($fh, $append) Performs an $fh->open(">$file") or $fh->open(">>$file") if $append is defined. Returns the filehandle on success or undef on failure. close_write($fh) Performs a $fh->close() seek($fh, $pos, $wence) Performs a $fh->seek($pos, $wence). See IO::Seekable. utime($atime, $mtime, @files) Performs a utime() on the file(s). It changes the access time and mod time of those files. AUTHOR David Davis, <firstname.lastname@example.org>, http://teknikill.net/ LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO perl(1), Filesys::Virtual, Filesys::Virtual::SSH, Filesys::Virtual::DAAP, POE::Component::Server::FTP, Net::DAV::Server, HTTP::Daemon, http://perladvent.org/2004/20th/