|
NAMEDirectory::Scratch::Structured - creates temporary files and directories from a structured description SYNOPSIS my %tree_structure =
(
dir_1 =>
{
subdir_1 =>{},
file_1 =>[],
file_a => [],
},
dir_2 =>
{
subdir_2 =>
{
file_22 =>[],
file_2a =>[],
},
file_2 =>[],
file_a =>['12345'],
file_b =>[],
},
file_0 => [] ,
) ;
use Directory::Scratch::Structured qw(create_structured_tree) ;
my $temporary_directory = create_structured_tree(%tree_structure) ;
or
use Directory::Scratch ;
use Directory::Scratch::Structured qw(piggyback_directory_scratch) ;
my $temporary_directory = Directory::Scratch->new;
$temporary_directory->create_structured_tree(%tree_structure) ;
DESCRIPTIONThis module adds a create_structured_tree subroutine to the Directory::Scratch. DOCUMENTATIONI needed a subroutine to create a bunch of temporary directories and files while running tests. I used the excellent Directory::Scratch to implement such a functionality. I proposed the subroutine to the Directory::Scratch author but he preferred to implement a subroutine using an unstructured input data based on the fact that Directory::Scratch didn't use structured data. This is, IMHO, flawed design, though it may require slightly less typing. I proposed a hybrid solution to reduce the amount of subroutines and integrate the subroutine using structured input into Directory::Scratch but we didn't reach an agreement on the API. Instead I decided that I would piggyback on Directory::Scratch. You can access create_structured_tree through a subroutine or a method through a Directory::Scratch object. Whichever interface you choose, the argument to the create_structured_tree consists of tuples (hash entries). The key represents the name of the object to create in the directory. If the value is of type: SUBROUTINES/METHODScreate_structured_treeuse Directory::Scratch::Structured qw(create_structured_tree) ; my $temporary_directory = create_structured_tree(%tree_structure) ; my $base = $temporary_directory->base() ; Returns a default Directory::Scratch object. directory_scratch_create_structured_treeAdds create_structured_tree to Directory::Scratch when you Load Directory::Scratch::Structured with the piggyback_directory_scratch option. use Directory::Scratch ; use Directory::Scratch::Structured qw(piggyback_directory_scratch) ; my $temporary_directory = Directory::Scratch->new; $temporary_directory->create_structured_tree(%tree_structure) ; _create_structured_treeUsed internally by both interfaces piggybackUsed internally to piggyback Directory::Scratch. BUGS AND LIMITATIONSNone so far. AUTHOR Khemir Nadim ibn Hamouda
CPAN ID: NKH
mailto:nadim@khemir.net
LICENSE AND COPYRIGHTThis program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SUPPORTYou can find documentation for this module with the perldoc command. perldoc Directory::Scratch::Structured You can also look for information at:
SEE ALSODirectory::Scratch
|