---
name: "DhMakePerl::Utils"
section: "3pm"
platform: "linux"
package: "dh-make-perl"
version: "0.128"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/DhMakePerl::Utils"
---

# DhMakePerl::Utils(3pm)

helper routines for dh-make-perl and alike

## NAME

DhMakePerl::Utils - helper routines for dh-make-perl and alike

## SYNOPSIS

```
    use DhMakePerl::Utils qw(is_core_module);
    my $v = is_core_module('Test::More', '1.002');
    my $v = nice_perl_ver('5.010001');
```

## FUNCTIONS

None of he following functions is exported by default.

- apt\_cache

  Evaluate the creation of an AptPkg::Cache, and return it on success

- find\_cpan\_module

  Returns CPAN::Module object that corresponds to the supplied argument. Returns undef if no module is found by CPAN.

  If the CPAN module needs to be configured in some way, that should be done before calling this function.

- find\_cpan\_distribution

  Returns CPAN::Distribution object that corresponds to the supplied argument. Returns undef if no distribution is found by CPAN.

  If the CPAN module needs to be configured in some way, that should be done before calling this function.

- is\_core\_perl\_package *package*

  Returns true value if the given package is a core Perl package, i.e. one of `"perl"`, `"perl-base"`, `"perl-modules-X.Y"`, `"libperlX.Y"`, and `"perl-xs-dev"`.

  Having this in a central routine makes it easier to add/remove packages in the list.

- is\_core\_module *module*, *version*

  Returns the version of the `"perl"` package containing the given *module* (at least version *version*).

  Returns `"undef"` if *module* is not a core module (anymore) in the current `"perl"` release.

- nice\_perl\_ver *version\_string*

  Re-formats perl version to match Debian's perl package versions.

  For example `5.010` (and `5.01`) is converted to `5.10`.

- core\_module\_perls *module*\[, *min-version*\]

  Returns a list of Perl versions that have *module*. If *min-version* is given, the list contains only Perl versions containing *module* at least version *min-version*.

- find\_core\_perl\_dependency( $module\[, $version\] )

  return a dependency on perl containing the required module version. If the module is not available in any perl released by Debian, or if it is not in the current perl anymore, return undef.

- split\_version\_relation *string*

  Splits the string, typically found in dependency fields' values in CPAN META into relation and version. If no relation is found in the string, `">="` is assumed.

  Returns a list of relation and version. The relation is suitable for using in Debian package dependency version requirements.

  For example

  - split\_version\_relation('0.45') returns ( '\>=', '0.45' )

    - split\_version\_relation('\< 0.56') returns ( '\<\<', '0.56' )

    ## COPYRIGHT & LICENSE

- Copyright (C) 2008, 2009, 2010 Damyan Ivanov \<dmn@debian.org\>

  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
