diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl')
-rw-r--r-- | upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl | 249 |
1 files changed, 249 insertions, 0 deletions
diff --git a/upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl b/upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl new file mode 100644 index 00000000..15fe63a7 --- /dev/null +++ b/upstream/debian-unstable/man3/Parse::CPAN::Meta.3perl @@ -0,0 +1,249 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "Parse::CPAN::Meta 3perl" +.TH Parse::CPAN::Meta 3perl 2024-01-12 "perl v5.38.2" "Perl Programmers Reference Guide" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH NAME +Parse::CPAN::Meta \- Parse META.yml and META.json CPAN metadata files +.SH VERSION +.IX Header "VERSION" +version 2.150010 +.SH SYNOPSIS +.IX Header "SYNOPSIS" +.Vb 2 +\& ############################################# +\& # In your file +\& +\& \-\-\- +\& name: My\-Distribution +\& version: 1.23 +\& resources: +\& homepage: "http://example.com/dist/My\-Distribution" +\& +\& +\& ############################################# +\& # In your program +\& +\& use Parse::CPAN::Meta; +\& +\& my $distmeta = Parse::CPAN::Meta\->load_file(\*(AqMETA.yml\*(Aq); +\& +\& # Reading properties +\& my $name = $distmeta\->{name}; +\& my $version = $distmeta\->{version}; +\& my $homepage = $distmeta\->{resources}{homepage}; +.Ve +.SH DESCRIPTION +.IX Header "DESCRIPTION" +\&\fBParse::CPAN::Meta\fR is a parser for \fIMETA.json\fR and \fIMETA.yml\fR files, using +JSON::PP and/or CPAN::Meta::YAML. +.PP +\&\fBParse::CPAN::Meta\fR provides three methods: \f(CW\*(C`load_file\*(C'\fR, \f(CW\*(C`load_json_string\*(C'\fR, +and \f(CW\*(C`load_yaml_string\*(C'\fR. These will read and deserialize CPAN metafiles, and +are described below in detail. +.PP +\&\fBParse::CPAN::Meta\fR provides a legacy API of only two functions, +based on the YAML functions of the same name. Wherever possible, +identical calling semantics are used. These may only be used with YAML sources. +.PP +All error reporting is done with exceptions (die'ing). +.PP +Note that META files are expected to be in UTF\-8 encoding, only. When +converted string data, it must first be decoded from UTF\-8. +.SH METHODS +.IX Header "METHODS" +.SS load_file +.IX Subsection "load_file" +.Vb 1 +\& my $metadata_structure = Parse::CPAN::Meta\->load_file(\*(AqMETA.json\*(Aq); +\& +\& my $metadata_structure = Parse::CPAN::Meta\->load_file(\*(AqMETA.yml\*(Aq); +.Ve +.PP +This method will read the named file and deserialize it to a data structure, +determining whether it should be JSON or YAML based on the filename. +The file will be read using the ":utf8" IO layer. +.SS load_yaml_string +.IX Subsection "load_yaml_string" +.Vb 1 +\& my $metadata_structure = Parse::CPAN::Meta\->load_yaml_string($yaml_string); +.Ve +.PP +This method deserializes the given string of YAML and returns the first +document in it. (CPAN metadata files should always have only one document.) +If the source was UTF\-8 encoded, the string must be decoded before calling +\&\f(CW\*(C`load_yaml_string\*(C'\fR. +.SS load_json_string +.IX Subsection "load_json_string" +.Vb 1 +\& my $metadata_structure = Parse::CPAN::Meta\->load_json_string($json_string); +.Ve +.PP +This method deserializes the given string of JSON and the result. +If the source was UTF\-8 encoded, the string must be decoded before calling +\&\f(CW\*(C`load_json_string\*(C'\fR. +.SS load_string +.IX Subsection "load_string" +.Vb 1 +\& my $metadata_structure = Parse::CPAN::Meta\->load_string($some_string); +.Ve +.PP +If you don't know whether a string contains YAML or JSON data, this method +will use some heuristics and guess. If it can't tell, it assumes YAML. +.SS yaml_backend +.IX Subsection "yaml_backend" +.Vb 1 +\& my $backend = Parse::CPAN::Meta\->yaml_backend; +.Ve +.PP +Returns the module name of the YAML serializer. See "ENVIRONMENT" +for details. +.SS json_backend +.IX Subsection "json_backend" +.Vb 1 +\& my $backend = Parse::CPAN::Meta\->json_backend; +.Ve +.PP +Returns the module name of the JSON serializer. If \f(CW\*(C`CPAN_META_JSON_BACKEND\*(C'\fR +is set, this will be whatever that's set to. If not, this will either +be JSON::PP or JSON. If \f(CW\*(C`PERL_JSON_BACKEND\*(C'\fR is set, +this will return JSON as further delegation is handled by +the JSON module. See "ENVIRONMENT" for details. +.SS json_decoder +.IX Subsection "json_decoder" +.Vb 1 +\& my $decoder = Parse::CPAN::Meta\->json_decoder; +.Ve +.PP +Returns the module name of the JSON decoder. Unlike "json_backend", this +is not necessarily a full JSON\-style module, but only something that will +provide a \f(CW\*(C`decode_json\*(C'\fR subroutine. If \f(CW\*(C`CPAN_META_JSON_DECODER\*(C'\fR is set, +this will be whatever that's set to. If not, this will be whatever has +been selected as "json_backend". See "ENVIRONMENT" for more notes. +.SH FUNCTIONS +.IX Header "FUNCTIONS" +For maintenance clarity, no functions are exported by default. These functions +are available for backwards compatibility only and are best avoided in favor of +\&\f(CW\*(C`load_file\*(C'\fR. +.SS Load +.IX Subsection "Load" +.Vb 1 +\& my @yaml = Parse::CPAN::Meta::Load( $string ); +.Ve +.PP +Parses a string containing a valid YAML stream into a list of Perl data +structures. +.SS LoadFile +.IX Subsection "LoadFile" +.Vb 1 +\& my @yaml = Parse::CPAN::Meta::LoadFile( \*(AqMETA.yml\*(Aq ); +.Ve +.PP +Reads the YAML stream from a file instead of a string. +.SH ENVIRONMENT +.IX Header "ENVIRONMENT" +.SS CPAN_META_JSON_DECODER +.IX Subsection "CPAN_META_JSON_DECODER" +By default, JSON::PP will be used for deserializing JSON data. If the +\&\f(CW\*(C`CPAN_META_JSON_DECODER\*(C'\fR environment variable exists, this is expected to +be the name of a loadable module that provides a \f(CW\*(C`decode_json\*(C'\fR subroutine, +which will then be used for deserialization. Relying only on the existence +of said subroutine allows for maximum compatibility, since this API is +provided by all of JSON::PP, JSON::XS, Cpanel::JSON::XS, +JSON::MaybeXS, JSON::Tiny, and Mojo::JSON. +.SS CPAN_META_JSON_BACKEND +.IX Subsection "CPAN_META_JSON_BACKEND" +By default, JSON::PP will be used for deserializing JSON data. If the +\&\f(CW\*(C`CPAN_META_JSON_BACKEND\*(C'\fR environment variable exists, this is expected to +be the name of a loadable module that provides the JSON API, since +downstream code expects to be able to call \f(CW\*(C`new\*(C'\fR on this class. As such, +while JSON::PP, JSON::XS, Cpanel::JSON::XS and JSON::MaybeXS will +work for this, to use Mojo::JSON or JSON::Tiny for decoding requires +setting "CPAN_META_JSON_DECODER". +.SS PERL_JSON_BACKEND +.IX Subsection "PERL_JSON_BACKEND" +If the \f(CW\*(C`CPAN_META_JSON_BACKEND\*(C'\fR environment variable does not exist, and if +\&\f(CW\*(C`PERL_JSON_BACKEND\*(C'\fR environment variable exists, is true and is not +"JSON::PP", then the JSON module (version 2.5 or greater) will be loaded and +used to interpret \f(CW\*(C`PERL_JSON_BACKEND\*(C'\fR. If JSON is not installed or is too +old, an exception will be thrown. Note that at the time of writing, the only +useful values are 1, which will tell JSON to guess, or JSON::XS \- if +you want to use a newer JSON module, see "CPAN_META_JSON_BACKEND". +.SS PERL_YAML_BACKEND +.IX Subsection "PERL_YAML_BACKEND" +By default, CPAN::Meta::YAML will be used for deserializing YAML data. If +the \f(CW\*(C`PERL_YAML_BACKEND\*(C'\fR environment variable is defined, then it is interpreted +as a module to use for deserialization. The given module must be installed, +must load correctly and must implement the \f(CWLoad()\fR function or an exception +will be thrown. +.SH AUTHORS +.IX Header "AUTHORS" +.IP \(bu 4 +David Golden <dagolden@cpan.org> +.IP \(bu 4 +Ricardo Signes <rjbs@cpan.org> +.IP \(bu 4 +Adam Kennedy <adamk@cpan.org> +.SH "COPYRIGHT AND LICENSE" +.IX Header "COPYRIGHT AND LICENSE" +This software is copyright (c) 2010 by David Golden, Ricardo Signes, Adam Kennedy and Contributors. +.PP +This is free software; you can redistribute it and/or modify it under +the same terms as the Perl 5 programming language system itself. |