# Path

*"On heights all paths are paved with dagger -Old Seanchan saying"*

1. "a/dir/file\_1.1.txt"
2. "a/dir/file\_1.txt"

## Definitions:

### Array file features

#### file\_paths:

Complete paths

* \[0] "a/dir/file\_1.1.txt"
* \[1] "a/dir/file\_1.txt"

#### file\_suffixes:

Including first "." and everything after

* \[0] ".1.txt"
* \[1] ".txt"

#### file\_path\_prefixes:

Paths without suffix

* \[0] "a/dir/file\_1"
* \[1] "a/dir/file\_1"

#### file\_names:

File names

* \[0] "file\_1.1.txt"
* \[1] "file\_1.txt"

#### file\_name\_prefixes:

File names without suffix

* \[0] "file\_1"
* \[1] "file\_1"

### Scalar file features

#### dir\_path:

Directory path

* "a/dir/"

#### dir\_path\_prefix:

Directory name without trailing slash

* "a/dir"

**file\_suffix:**

Everything after last "."

* ".txt"

### Constant file features

#### file\_path\_prefixes:

Paths without suffix

* "a/dir/file\_1"

#### file\_name\_prefix:

File name without suffix

* "file\_1"

**file\_constant\_suffix:**

Only for identical file\_suffixes otherwise undef

For paths:

* \[0] "a/dir/file.1.txt"
* \[1] "a/dir/file.1.txt"

*file\_constant\_suffix*:

* ".1.txt"

### Hash file features

iterator: string between dots in file\_suffixes, e.g. ".1.txt" => iterator = "1".

#### file\_path\_href:

Complete paths per iterator. { 1 => "a/dir/file\_1.1.txt", }

#### file\_name\_href:

File name per iterator. { 1 => "file\_1.1.txt", }
