(GPL-1.0-or-later or Artistic-1.0-perl) and (GPL-2.0-or-later or Artistic-1.0-perl) and MIT and UCD and Public Domain and BSD
(GPL-1.0-or-later or Artistic-1.0-perl) and MIT and UCD
Read and write a subset of YAML for CPAN Meta files
This module implements a subset of the YAML specification for use in reading and writing CPAN metadata files like META.yml and MYMETA.yml. It should not be used for any other general YAML parsing or generation task. NOTE: META.yml (and MYMETA.yml) files should be UTF-8 encoded. Users are responsible for proper encoding and decoding. In particular, the read and write methods do not support UTF-8 and should not be used.
acquired package info from repodata DB: repodata/f1f85c23079e7764ad00378a9fc5d660b89a03657290e75426caf7be5b7da462-primary.sqlite.bz2
Perl implementation of the which utility as an API
File::Which finds the full or relative paths to executable programs on the system. This is normally the function of which utility. which is typically implemented as either a program or a built in shell command. On some platforms, such as Microsoft Windows it is not provided as part of the core operating system. This module provides a consistent API to this functionality regardless of the underlying platform. The focus of this module is correctness and portability. As a consequence platforms where the current directory is implicitly part of the search path such as Microsoft Windows will find executables in the current directory, whereas on platforms such as UNIX where this is not the case executables in the current directory will only be found if the current directory is explicitly added to the path. If you need a portable which on the command line in an environment that does not provide it, install App::pwhich which provides a command line interface to this API.
Capture STDOUT and STDERR from Perl, XS or external programs
Capture::Tiny provides a simple, portable way to capture anything sent to STDOUT or STDERR, regardless of whether it comes from Perl, from XS code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original handles. Yes, it even works on Windows. Stop guessing which of a dozen capturing modules to use in any particular situation and just use this one.
Common library for searching CPAN modules, authors and distributions
This module provides a common library for working with a variety of CPAN index services. It is intentionally minimalist, trying to use as few non- core modules as possible.
The distribution metadata for a CPAN dist
Software distributions released to the CPAN include a META.json or, for older distributions, META.yml, which describes the distribution, its contents, and the requirements for building and installing the distribution. The data structure stored in the META.json file is described in CPAN::Meta::Spec. CPAN::Meta provides a simple class to represent this distribution metadata (or distmeta), along with some helpful methods for interrogating that data.
Verify requirements in a CPAN::Meta object
This module verifies if requirements described in a CPAN::Meta object are present.
The Archive::Zip module allows a Perl program to create, manipulate, read, and write Zip archive files. Zip archives can be created, or you can read from existing zip files. Once created, they can be written to files, streams, or strings. Members can be added, removed, extracted, replaced, rearranged, and enumerated. They can also be renamed or have their dates, comments, or other attributes queried or modified. Their data can be compressed or uncompressed as needed. Members can be created from members in existing Zip files, or from existing directories, files, or strings. This module uses the Compress::Raw::Zlib library to read and write the compressed streams inside the files. One can use Archive::Zip::MemberRead to read the zip file archive members as if they were files.
Create and use a local lib/ for perl modules with Perl5lib
This module provides a quick, convenient way of bootstrapping a user-local Perl module library located within the user's home directory. It also constructs and prints out for the user the list of environment variables using the syntax appropriate for the user's current shell (as specified by the SHELL environment variable), suitable for directly adding to one's shell configuration file. More generally, local::lib allows for the bootstrapping and usage of a directory containing Perl modules outside of Perl's @INC. This makes it easier to ship an application with an app-specific copy of a Perl module, or collection of modules. Useful in cases like when an upstream maintainer hasn't applied a patch to a module of theirs that you need for your application.
HTTP::Tiny compatible HTTP client wrappers
HTTP::Tinyish is a wrapper module for HTTP client modules LWP, HTTP::Tiny and HTTP client software curl and wget.
Menlo is a code name for cpanm 2.0, developed with the goal to replace cpanm and its back-end with a more flexible, extensible and easier to use APIs.
A set of version requirements for a CPAN dist
A CPAN::Meta::Requirements object models a set of version constraints like those specified in the META.yml or META.json files in CPAN distributions, and as defined by CPAN::Meta::Spec; It can be built up by adding more and more constraints, and it will reduce them to the simplest representation. Logically impossible constraints will be identified immediately by thrown exceptions.
The most of the code of this module is taken from the PAUSE code as of April 2013 almost verbatim. Thus, the heart of this module should be quite stable. However, I made it not to use pipe ("-|") as well as I stripped database- related code. If you encounter any issue, that's most probably because of my modification.
This module provides a convenient way to create directories of arbitrary depth and to delete an entire directory subtree from the filesystem.
Change directory temporarily for a limited scope
File::pushd does a temporary "chdir" that is easily and automatically reverted, similar to "pushd" in some Unix command shells. It works by creating an object that caches the original working directory. When the object is destroyed, the destructor calls "chdir" to revert to the original working directory. By storing the object in a lexical variable with a limited scope, this happens automatically at the end of the scope. This is very handy when working with temporary directories for tasks like testing; a function is provided to streamline getting a temporary directory from File::Temp. For convenience, the object stringifies as the canonical form of the absolute pathname of the directory entered. Warning: if you create multiple "pushd" objects in the same lexical scope, their destruction order is not guaranteed and you might not wind up in the directory you expect.
Tools for working with directory and file names.
Version objects were added to Perl in 5.10. This module implements version objects for older version of Perl and provides the version object API for all versions of Perl. All previous releases before 0.74 are deprecated and should not be used due to incompatible API changes. Version 0.77 introduces the new 'parse' and 'declare' methods to standardize usage. You are strongly urged to set 0.77 as a minimum in your code, e.g. use version 0.77; # even for Perl v.5.10.0
This package is the shared library for perl.
Module::CPANfile is a tool to handle cpanfile format to load application specific dependencies, not just for CPAN distributions.
Perl extension for SHA-1/224/256/384/512
Digest::SHA is a complete implementation of the NIST Secure Hash Standard. It gives Perl programmers a convenient way to calculate SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, and SHA-512/256 message digests. The module can handle all types of input, including partial-byte data.
what modules shipped with versions of perl
Module::CoreList provides information on which core and dual-life modules shipped with each version of perl. It provides a number of mechanisms for querying this information. There is a utility called corelist provided with this module which is a convenient way of querying from the command-line. There is a functional programming API available for programmers to query information. Programmers may also query the contained hash structures to find relevant information.
Extended processing of command line options
Module Getopt::Long implements an extended getopt function called GetOptions(). This function implements the POSIX standard for command line options, with GNU extensions, while still capable of handling the traditional one-letter options.
A module for manipulations of tar archives
archive::Tar provides an object oriented mechanism for handling tar files. It provides class methods for quick and easy files handling while also allowing for the creation of tar file objects for custom manipulation. If you have the IO::Zlib module installed, Archive::Tar will also support compressed or gzipped tar files.
This pragma allows you to declare constants at compile-time. When a constant is used in an expression, Perl replaces it with its value at compile time, and may then optimize the expression further. In particular, any code in an "if (CONSTANT)" block will be optimized away if the constant is false.
A highly capable, feature-rich programming language
Perl 5 is a highly capable, feature-rich programming language with over 30 years of development. Perl 5 runs on over 100 platforms from portables to mainframes and is suitable for both rapid prototyping and large scale development projects.
Utilities to write and check a MANIFEST file
Utilities to write and check a MANIFEST file.
Gather package and POD information from perl module files
This module provides a standard way to gather metadata about a .pm file through (mostly) static analysis and (some) code execution. When determining the version of a module, the $VERSION assignment is evaled, as is traditional in the CPAN toolchain.This module provides a standard way to gather metadata about a .pm file through (mostly) static analysis and (some) code execution. When determining the version of a module, the $VERSION assignment is evaled, as is traditional in the CPAN toolchain.
Extract distribution name and version from a distribution filename
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.
A tool to find your home and other directories on any platform
File::HomeDir is a module for locating the directories that are "owned" by a user (typically your user) and to solve the various issues that arise trying to find them consistently across a wide variety of platforms.
JSON::PP is a pure perl JSON decoder/encoder, and (almost) compatible to much faster JSON::XS written by Marc Lehmann in C. JSON::PP works as a fallback module when you use JSON module without having installed JSON::XS. Because of this fallback feature of JSON.pm, JSON::PP tries not to be more JavaScript-friendly than JSON::XS (i.e. not to escape extra characters such as U+2028 and U+2029, etc), in order for you not to lose such JavaScript-friendliness silently when you use JSON.pm and install JSON::XS for speed or by accident. If you need JavaScript-friendly RFC7159-compliant pure perl module, try JSON::Tiny, which is derived from Mojolicious web framework and is also smaller and faster than JSON::PP.
Legacy internal and client support for Menlo
Menlo::Legacy is a package to install Menlo::CLI::Compat which is a compatibility library that implements the classic version of cpanminus internals and behavios. This is so that existing users of cpanm and API clients such as Carton, Carmel and App::cpm) can rely on the stable features and specific behaviors of cpanm.
Module::Signature adds cryptographic authentications to CPAN distributions, via the special SIGNATURE file.
Return name and handle of a temporary file safely
File::Temp can be used to create and open temporary files in a safe way. There is both a function interface and an object-oriented interface. The File::Temp constructor or the tempfile() function can be used to return the name and the open file handle of a temporary file. The tempdir() function can be used to create a temporary directory. The security aspect of temporary file creation is emphasized such that a filehandle and filename are returned together. This helps guarantee that a race condition can not occur where the temporary file is created by another process between checking for the existence of the file and its opening. Additional security levels are provided to check, for example, that the sticky bit is set on world writable directories. See "safe_level" for more information. For compatibility with popular C library functions, Perl implementations of the mkstemp() family of functions are provided. These are, mkstemp(), mkstemps(), mkdtemp() and mktemp(). Additionally, implementations of the standard POSIX tmpnam() and tmpfile() functions are provided if required. Implementations of mktemp(), tmpnam(), and tempnam() are provided, but should be used with caution since they return only a filename that was valid when function was called, so cannot guarantee that the file will not exist by the time the caller opens the filename. Filehandles returned by these functions support the seekable methods.