Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Directory::Scratch::Structured
creates temporary files and directories from a structured description

Directory::Scratch::Structured - creates temporary files and directories from a structured description


NAME


 Directory::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) ;


DESCRIPTION

This module adds a create_structured_tree subroutine to the the Directory::Scratch manpage.


DOCUMENTATION

I needed a subroutine to create a bunch of temporary directories and files while running tests. I used the excellent the Directory::Scratch manpage to implement such a functionality. I proposed the subroutine to the the Directory::Scratch manpage author but he preferred to implement a subroutine using an unstructured input data based on the fact that the Directory::Scratch manpage 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 the Directory::Scratch manpage but we didn't reach an agreement on the API. Instead I decided that I would piggyback on the Directory::Scratch manpage.

You can access create_structured_tree through a subroutine or a method through a the Directory::Scratch manpage 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:

ARRAY
A file will be created, it's contents are the contents of the array (See the Directory::Scratch manpage)

HASH
A directory will be created. the element of the hash will also be , recursively, created

OTHER
The subroutine will croak.


SUBROUTINES/METHODS

create_structured_tree


  use Directory::Scratch::Structured qw(create_structured_tree) ;

  

  my $temporary_directory = create_structured_tree(%tree_structure) ;

  my $base = $temporary_directory->base() ;

Returns a default the Directory::Scratch manpage object.

directory_scratch_create_structured_tree

Adds create_structured_tree to the Directory::Scratch manpage 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_tree

Used internally by both interfaces

piggyback

Used internally to piggyback the Directory::Scratch manpage.


BUGS AND LIMITATIONS

None so far.


AUTHOR


        Khemir Nadim ibn Hamouda

        CPAN ID: NKH

        mailto:nadim@khemir.net


LICENSE AND COPYRIGHT

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


SUPPORT

You can find documentation for this module with the perldoc command.


    perldoc Directory::Scratch::Structured

You can also look for information at:


SEE ALSO

the Directory::Scratch manpage

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy