Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

cpan::distroprefs(3perl) [debian man page]

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

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.14.2 2011-09-26 CPAN::Distroprefs(3perl)

Check Out this Related Man Page

CPAN::DistnameInfo(3pm) 				User Contributed Perl Documentation				   CPAN::DistnameInfo(3pm)

NAME
CPAN::DistnameInfo - Extract distribution name and version from a distribution filename SYNOPSIS
my $pathname = "authors/id/G/GB/GBARR/CPAN-DistnameInfo-0.02.tar.gz"; my $d = CPAN::DistnameInfo->new($pathname); my $dist = $d->dist; # "CPAN-DistnameInfo" my $version = $d->version; # "0.02" my $maturity = $d->maturity; # "released" my $filename = $d->filename; # "CPAN-DistnameInfo-0.02.tar.gz" my $cpanid = $d->cpanid; # "GBARR" my $distvname = $d->distvname; # "CPAN-DistnameInfo-0.02" my $extension = $d->extension; # "tar.gz" my $pathname = $d->pathname; # "authors/id/G/GB/GBARR/..." my %prop = $d->properties; DESCRIPTION
Many online services that are centered around CPAN attempt to associate multiple uploads by extracting a distribution name from the filename of the upload. For most distributions this is easy as they have used ExtUtils::MakeMaker or Module::Build to create the distribution, which results in a uniform name. But sadly not all uploads are created in this way. "CPAN::DistnameInfo" uses heuristics that have been learnt by <http://search.cpan.org/> to extract the distribution name and version from filenames and also report if the version is to be treated as a developer release The constructor takes a single pathname, returning an object with the following methods cpanid If the path given looked like a CPAN authors directory path, then this will be the the CPAN id of the author. dist The name of the distribution distvname The file name with any suffix and leading directory names removed filename If the path given looked like a CPAN authors directory path, then this will be the path to the file relative to the detected CPAN author directory. Otherwise it is the path that was passed in. maturity The maturity of the distribution. This will be either "released" or "developer" extension The extension of the distribution, often used to denote the archive type (e.g. 'tar.gz') pathname The pathname that was passed to the constructor when creating the object. properties This will return a list of key-value pairs, suitable for assigning to a hash, for the known properties. version The extracted version AUTHOR
Graham Barr <gbarr@pobox.com> COPYRIGHT
Copyright (c) 2003 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2011-03-11 CPAN::DistnameInfo(3pm)
Man Page