CPAN::Distroprefs - phpMan

CPAN::Distroprefs(3pm) Perl Programmers Reference Guide CPAN::Distroprefs(3pm)

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 given directory.
       %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:
       o   a CPAN::Distroprefs::Result object
       o   "undef", indicating that no prefs files remain to be found
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 v5.16.3                      2013-03-04            CPAN::Distroprefs(3pm)