This manual page is for Mac OS X version 10.6

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



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 match-ing matching
       ing files:

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

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

       * a CPAN::Distroprefs::Result object
       * "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.8.9                                      2001-09-21                           CPAN::Distroprefs(3pm)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation to the Perl project. (See perlbug(1) for submission instructions.)
Bug reports
Report bugs in the functionality of the described tool or API to Apple through Bug Reporter and to the Perl project using perlbug(1).
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.