---
name: "Path::IsDev::Role::Heuristic"
section: "3pm"
platform: "linux"
package: "perl-path-isdev"
version: "1.001003-10"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Path::IsDev::Role::Heuristic"
---

# Path::IsDev::Role::Heuristic(3pm)

Base role for Heuristic things.

## NAME

Path::IsDev::Role::Heuristic - Base role for Heuristic things.

## VERSION

version 1.001003

## ROLE REQUIRES

### "matches"

Implementing classes must provide this method.

```
    return : 1 / undef
             1     -> this path is a development directory as far as this heuristic is concerned
             undef -> this path is not a development directory as far as this heuristic is concerned
    args : ( $class , $result_object )
        $class         -> method will be invoked on packages, not objects
        $result_object -> will be a Path::IsDev::Result
```

Additionally, consuming classes **should** set `"$result_object->result( 1 )"` prior to returning true.

Composing roles **should** also invoke `"$result_object->add_reason( $self, $result_value, $descriptive_reason_for_result, \%contextinfo )"`.

See `"Path::IsDev::Result"` for details

## METHODS

### "name"

Returns the name to use in debugging.

By default, this is derived from the classes name with the `"PIDH"` prefix removed:

```
    Path::IsDev::Heuristic::Tool::Dzil->name()
    → "+ ::Tool::Dzil"
```

### "heuristic\_type"

Returns a description of the general heuristic type

```
    positive heuristic
```

## AUTHOR

Kent Fredric \<kentnl@cpan.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Kent Fredric \<kentfredric@gmail.com\>.

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