File::Object - Object system for filesystem paths.
use File::Object; my $obj = File::Object->new(%parameters); $obj->dir($dir); $obj->file($file); my $dir = $obj->get_dir($dir_num); my $file = $obj->get_file; $obj->reset; my $path = $obj->s; $obj->set; $obj->up($num);
new(%parameters)
Constructor.
dir
Directory path.
file
File path.
type
Type of path. Types: - file - dir
dir(@dir)
Add directory or directories to object. Returns main object.
file(@file)
Add file or directory/directories with file to object. Returns main object.
get_dir($dir_num)
Returns $dir_num level directory. Default value of $dir_num is 1.
get_file()
Returns: - Filename if object is file path. - undef if object is directory path.
reset()
Reset to constructor values.
s()
Serialize path and return.
set()
Set actual values to constructor values.
up($up_num)
Go to $up_num upper directory. Returns main object.
Mine: 'dir' parameter must be a reference to array. Bad 'type' parameter. Bad file constructor with undefined 'file' parameter. Cannot go up. PATH -> path; From Class::Utils::set_params(): Unknown parameter '%s'.
# Pragmas. use strict; use warnings; # Modules. use File::Object; # Print actual directory path. print File::Object->new->s."\n";
# Pragmas. use strict; use warnings; # Modules. use File::Object; # Print parent directory path. print File::Object->new->up->s."\n";
# Pragmas. use strict; use warnings; # Modules. use File::Object; # Object with directory path. my $obj = File::Object->new( 'dir' => ['path', 'to', 'subdir'], ); # Relative path to file1. print $obj->file('file1')->s."\n"; # Relative path to file2. print $obj->file('file2')->s."\n"; # Output: # Unix: # path/to/subdir/file1 # path/to/subdir/file2 # Windows: # path\to\subdir\file1 # path\to\subdir\file2
# Pragmas. use strict; use warnings; # Modules. use File::Object; # Object with directory path. my $obj = File::Object->new( 'dir' => ['path', 'to', 'subdir'], ); # Relative path to dir1. print $obj->dir('dir1')->s."\n"; # Relative path to dir2. print $obj->reset->dir('dir2')->s."\n"; # Output: # Unix: # path/to/subdir/dir1 # path/to/subdir/dir2 # Windows: # path\to\subdir\dir1 # path\to\subdir\dir2
Class::Utils, Error::Pure, FindBin, File::Spec::Functions.
https://github.com/tupinek/File-Object
Michal Špaček mailto:skim@cpan.org
http://skim.cz
BSD license.
0.05
To install File::Object, copy and paste the appropriate command in to your terminal.
cpanm
cpanm File::Object
CPAN shell
perl -MCPAN -e shell install File::Object
For more information on module installation, please visit the detailed CPAN module installation guide.