---
name: "PerlReq::Utils"
section: "3pm"
platform: "linux"
package: "libb-perlreq-perl"
version: "0.82-8+b4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/PerlReq::Utils"
---

# PerlReq::Utils(3pm)

auxiliary routines for B::PerlReq, perl.req and perl.prov

## NAME

PerlReq::Utils - auxiliary routines for B::PerlReq, perl.req and perl.prov

## DESCRIPTION

This module provides the following convenience functions:

- **path2mod**

  Convert file path to module name, e.g. *File/Find.pm* -\> *File::Find*.

- **mod2path**

  Convert module name to file path, e.g. *File::Find* -\> *File/Find.pm*.

- **path2dep**

  Convert file path to conventional dependency name, e.g. *File/Find.pm* -\> *perl(File/Find.pm)*. Note that this differs from RedHat conventional form *perl(File::Find)*.

- **mod2dep**

  Convert module name to conventional dependency name, e.g. *File::Find* -\> *perl(File/Find.pm)*. Note that this differs from RedHat conventional form *perl(File::Find)*.

- **verf**

  Format module version number, e.g. *2.12* -\> *2.120*.  Currently truncated to 3 digits after decimal point, except for all zeroes, e.g. *2.000* -\> *2.0*.

  Update.  The algorithm has been amended in almost compatible way so that versions do not lose precision when truncated.  Now we allow one more *.ddd* series at the end, but *.000* is still truncated by default, e.g. *2.123* -\> *2.123*, *2.123456* -\> *2.123.456*.

- **verf\_perl**

  Format Perl version number, e.g. *5.005\_03* -\> *1:5.5.30*.

- **sv\_version**

  Extract version number from B::SV object.  v-strings converted to floats according to Perl rules, e.g. *1.2.3* -\> *1.002003*.

- **argv**

  Obtain a list of files passed on the command line.  When command line is empty, obtain a list of files from standard input, one file per line. Die when file list is empty.  Check that each file exists, or die otherwise.  Canonicalize each filename with `File::Spec::rel2abs()` function (which makes no checks against the filesystem).

- **inc**

  Obtain a list of Perl library paths from `@INC` variable, except for current directory.  The RPM\_PERL\_LIB\_PATH environment variable, if set, is treated as a list of paths, seprarated by colons; put these paths in front of the list.  Canonicalize each path in the list.

  Finally, the RPM\_BUILD\_ROOT environment variable, if set, is treated as installation root directory; each element of the list is then prefixed with canonicalized RPM\_BUILD\_ROOT path and new values are put in front of the list.

  After all, only existent directories are returned.

- **explode**

  Split given filename into its prefix (which is a valid Perl library path, according to the **inc()** function above) and basename.  Return empty list if filename does not match any prefix.

## AUTHOR

Written by Alexey Tourbin \<at@altlinux.org\>.

## COPYING

Copyright (c) 2004 Alexey Tourbin, ALT Linux Team.

This is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

## SEE ALSO

B::PerlReq, perl.req, perl.prov
