perl-PerlX-Maybe

Return a pair only if they are both defined

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->new( name => $name, age => $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->new( defined $name ? (name => $name) : (), defined $age ? (age => $age) : (), ); or: my $bob = Person->new( (name => $name) x!!(defined $name), (age => $age) x!!(defined $age), ); A slightly more elegant solution is the 'maybe' function.

There is no official package available for openSUSE Leap 15.5

Distributions

openSUSE Tumbleweed

openSUSE Leap 15.6

openSUSE Leap 15.5

openSUSE Leap 15.4

Fedora Rawhide (unstable)

Fedora 39

Fedora 38

Unsupported distributions

The following distributions are not officially supported. Use these packages at your own risk.