---
name: "Dist::Zilla::Role::ModuleMetadata"
section: "3pm"
platform: "linux"
package: "libdist-zilla-role-modulemetadata-perl"
version: "0.006-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Dist::Zilla::Role::ModuleMetadata"
---

# Dist::Zilla::Role::ModuleMetadata(3pm)

A role for plugins that use Module::Metadata

## NAME

Dist::Zilla::Role::ModuleMetadata - A role for plugins that use Module::Metadata

## VERSION

version 0.006

## SYNOPSIS

```
    package Dist::Zilla::Plugin::YourNewPlugin;
    use Moose;
    with
        'Dist::Zilla::Role::...',
        'Dist::Zilla::Role::ModuleMetadata';
    use namespace::autoclean;
    sub your_method {
        my $self = shift;
        my $file = ...; # perhaps via the :InstallModules filefinder?
        my $version = $self->module_metadata_for_file->($file, collect_pod => 1)->version;
        ...
    }
```

## DESCRIPTION

This role provides some common utilities for Dist::Zilla plugins which use Module::Metadata and the information that it provides.

## METHODS PROVIDED

### "module\_metadata\_for\_file"

```
    my $mmd = $self->module_metadata_for_file($file, @options);
```

Given a dzil file object (anything that does Dist::Zilla::Role::File), this method returns a Module::Metadata object for that file's content. Any extra arguments are passed along to "new\_from\_handle" in Module::Metadata.

Internally, this method caches these objects. If multiple plugins want an object for the same file, this avoids reparsing it.

## SEE ALSO

- •

  Module::Metadata

## SUPPORT

Bugs may be submitted through the RT bug tracker \<https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Role-ModuleMetadata\> (or bug-Dist-Zilla-Role-ModuleMetadata@rt.cpan.org \<mailto:bug-Dist-Zilla-Role-ModuleMetadata@rt.cpan.org\>).

There is also a mailing list available for users of this distribution, at \<http://dzil.org/#mailing-list\>.

There is also an irc channel available for users of this distribution, at `"#distzilla"` on `"irc.perl.org"` \<irc://irc.perl.org/#distzilla\>.

I am also usually active on irc, as 'ether' at `"irc.perl.org"`.

## AUTHOR

Karen Etheridge \<ether@cpan.org\>

## COPYRIGHT AND LICENCE

This software is copyright (c) 2015 by Karen Etheridge.

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