<metapackage xmlns:os="http://opensuse.org/Standards/One_Click_Install" xmlns="http://opensuse.org/Standards/One_Click_Install">
  <group>
    <repositories>
      <repository recommended="true">
        <name>devel:languages:perl</name>
        <summary>Perl and perl modules</summary>
        <description>++++++++++ Note: We are going to change the version format of the modules. See https://github.com/openSUSE/cpanspec/issues/47 for context ++++++++++

++++++++++ Note 2: Packages are maintained under git as of 2025-08-13:
https://src.opensuse.org/perl
https://en.opensuse.org/openSUSE:OBS_to_Git ++++++++++

Perl and a large number of important perl modules and tools.

Module updates from CPAN are regularly checked (with scripts from https://github.com/openSUSE/autoupdate-perl and https://github.com/openSUSE/cpanspec ) and put into https://build.opensuse.org/project/show/devel:languages:perl:autoupdate .

Please check https://build.opensuse.org/project/show/devel:languages:perl:autoupdate first before doing your own update! An updated version of the module might already be there, just that there is no submit request yet.

How to submit a new module here: https://github.com/openSUSE/cpanspec/wiki/Submit-a-new-Perl-module-to-openSUSE
</description>
        <url>https://download.opensuse.org/repositories/devel:/languages:/perl/16.0/</url>
      </repository>
      <repository recommended="true">
        <name>openSUSE:Leap:16.0</name>
        <summary>openSUSE Leap 16.0 based on SLFO</summary>
        <description>Leap 16.0 based on SLES 16.0 (specifically SLFO:1.2)</description>
        <url>https://download.opensuse.org/distribution/leap/16.0/repo/oss/</url>
      </repository>
      <repository recommended="true">
        <name>openSUSE:Backports:SLE-16.0</name>
        <summary>Community packages for SLE-16.0</summary>
        <description>Community packages for SLE-16.0</description>
        <url>https://download.opensuse.org/repositories/openSUSE:/Backports:/SLE-16.0/standard/</url>
      </repository>
      <repository recommended="false">
        <name>SUSE:SLFO:1.2</name>
        <summary>SLFO 1.2 (the base for openSUSE 16.0 and SLES 16.0)</summary>
        <description></description>
        <url>https://download.opensuse.org/repositories/SUSE:/SLFO:/1.2/standard/</url>
      </repository>
    </repositories>
    <software>
      <item>
        <name>perl-PerlX-Maybe</name>
        <summary>Return a pair only if they are both defined</summary>
        <description>Moose classes (and some other classes) distinguish between an attribute
being unset and the attribute being set to undef. Supplying a constructor
arguments like this:

 my $bob = Person-&gt;new(
    name =&gt; $name,
    age =&gt; $age,
 );

Will result in the 'name' and 'age' attributes possibly being set to undef
(if the corresponding '$name' and '$age' variables are not defined), which
may violate the Person class' type constraints.

(Note: if you are the _author_ of the class in question, you can solve this
using MooseX::UndefTolerant. However, some of us are stuck using
non-UndefTolerant classes written by third parties.)

To ensure that the Person constructor does not try to set a name or age at
all when they are undefined, ugly looking code like this is often used:

 my $bob = Person-&gt;new(
    defined $name ? (name =&gt; $name) : (),
    defined $age ? (age =&gt; $age) : (),
 );

or:

 my $bob = Person-&gt;new(
    (name =&gt; $name) x!!(defined $name),
    (age  =&gt; $age)  x!!(defined $age),
 );

A slightly more elegant solution is the 'maybe' function.</description>
      </item>
    </software>
  </group>
</metapackage>
