Cantella::Store::UUID::Util - Useful things that didn't belong in the objects


Cantella-Store-UUID documentation Contained in the Cantella-Store-UUID distribution.

Index


Code Index:

NAME

Top

Cantella::Store::UUID::Util - Useful things that didn't belong in the objects

SUBROUTINES

Top

_mkdirs $dir, $levels

Will recursively make a directory hioerarchy $levels deep using $dir as the root. $dir will not be created.

SEE ALSO

Top

Cantella::Store::UUID, Cantella::Store::UUID::File

AUTHOR

Top

Guillermo Roditi (groditi) <groditi@cpan.org>

COPYRIGHT AND LICENSE

Top


Cantella-Store-UUID documentation Contained in the Cantella-Store-UUID distribution.

package Cantella::Store::UUID::Util;

use strict;
use warnings;

use Sub::Exporter -setup => { exports => [ '_mkdirs' ] };

our $VERSION = '0.003003';

sub _mkdirs {
  my $dir = shift;
  my $levels = shift;

  --$levels;
  for my $node ( (0..9), qw(A B C D E F) ){
    my $subdir = $dir->subdir($node);
    if( -f $subdir ){
      die("Can't create dir '${subdir}': a file with a conflicting name exists");
    }
    if( ! $subdir->mkpath ){
      die("Can't create dir '${subdir}': $!");
    }

    _mkdirs($subdir, $levels) if $levels > 0;
  }
}

1;

__END__;