---
name: "Catmandu::DirectoryIndex::UUID"
section: "3pm"
platform: "linux"
package: "libcatmandu-filestore-perl"
version: "1.16-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Catmandu::DirectoryIndex::UUID"
---

# Catmandu::DirectoryIndex::UUID(3pm)

A uuid based path translator

## NAME

Catmandu::DirectoryIndex::UUID - A uuid based path translator

## SYNOPSIS

```
    use Catmandu::DirectoryIndex::UUID;
    my $p = Catmandu::DirectoryIndex::UUID->new(
        base_dir => "/data"
    );
    # Returns mapping like { _id  => "9A581C80-1189-11E8-AB6D-46BC153F89DB", "/data/9A5/81C/80-/118/9-1/1E8/-AB/6D-/46B/C15/3F8/9DB" }
    # Can be undef
    my $mapping = $p->get("9A581C80-1189-11E8-AB6D-46BC153F89DB");
    # Create path and return mapping
    my $mapping = $p->add("9A581C80-1189-11E8-AB6D-46BC153F89DB");
    # Catmandu::DirectoryIndex::Number is a Catmandu::Iterable
    # Returns list of records: [{ _id => 1234, _path => "/data/000/001/234" }]
    my $mappings = $p->to_array();
```

## METHODS

### new( base\_dir =\> $base\_dir )

Create a new Catmandu::DirectoryIndex::UUID with the following configuration parameters:

- base\_dir

  See Catmandu::DirectoryIndex

## LIMITATIONS

The keys in this directory can only be UUID identifiers.

## INHERITED METHODS

This Catmandu::DirectoryIndex::Number implements:

- Catmandu::DirectoryIndex

  ## SEE ALSO

Catmandu::DirectoryIndex
