Perl Diver 2.31
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

CPAN::Distroprefs

Name CPAN::Distroprefs
Version 6.0001
Located at /usr/share/perl5/vendor_perl
File /usr/share/perl5/vendor_perl/CPAN/Distroprefs.pm
Is Core No
Search CPAN for this module CPAN::Distroprefs
Documentation CPAN::Distroprefs
Module Details CPAN::Distroprefs

NAME

CPAN::Distroprefs -- read and match distroprefs


SYNOPSIS

    use CPAN::Distroprefs;
    my %info = (... distribution/environment info ...);
    my $finder = CPAN::Distroprefs->find($prefs_dir, \%ext_map);
    while (my $result = $finder->next) {
        die $result->as_string if $result->is_fatal;
        warn($result->as_string), next if $result->is_warning;
        for my $pref (@{ $result->prefs }) {
            if ($pref->matches(\%info)) {
                return $pref;
            }
        }
    }


DESCRIPTION

This module encapsulates reading Distroprefs and matching them against CPAN distributions.


INTERFACE

    my $finder = CPAN::Distroprefs->find($dir, \%ext_map);
    while (my $result = $finder->next) { ... }

Build an iterator which finds distroprefs files in the tree below the given directory. Within the tree directories matching m/^[._]/ are pruned.

%ext_map is a hashref whose keys are file extensions and whose values are modules used to load matching files:

    {
        'yml' => 'YAML::Syck',
        'dd'  => 'Data::Dumper',
        ...
    }

Each time $finder->next is called, the iterator returns one of two possible values:


RESULTS

find() returns CPAN::Distroprefs::Result objects to indicate success or failure when reading a prefs file.

Common

All results share some common attributes:

type

success, warning, or fatal

file

the file from which these prefs were read, or to which this error refers (relative filename)

ext

the file's extension, which determines how to load it

dir

the directory the file was read from

abs

the absolute path to the file

Errors

Error results (warning and fatal) contain:

msg

the error message (usually either $! or a YAML error)

Successes

Success results contain:

prefs

an arrayref of CPAN::Distroprefs::Pref objects


PREFS

CPAN::Distroprefs::Pref objects represent individual distroprefs documents. They are constructed automatically as part of success results from find().

data

the pref information as a hashref, suitable for e.g. passing to Kwalify

match_attributes

returns a list of the valid match attributes (see the Distroprefs section in CPAN)

currently: env perl perlconfig distribution module

has_any_match

true if this pref has a 'match' attribute at all

has_valid_subkeys

true if this pref has a 'match' attribute and at least one valid match attribute

matches

  if ($pref->matches(\%arg)) { ... }

true if this pref matches the passed-in hashref, which must have a value for each of the match_attributes (above)


LICENSE

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

Perl Diver brought to you by ScriptSolutions.com © 1997- 2024