How To Install perl-Specio on Fedora 36

In this tutorial we learn how to install perl-Specio in Fedora 36. perl-Specio is Type constraints and coercions for Perl

Introduction

In this tutorial we learn how to install perl-Specio on Fedora 36.

What is perl-Specio

The Specio distribution provides classes for representing type constraints and coercion, along with syntax sugar for declaring them. Note that this is not a proper type system for Perl. Nothing in this distribution will magically make the Perl interpreter start checking a value’s type on assignment to a variable. In fact, there’s no built-in way to apply a type to a variable at all. Instead, you can explicitly check a value against a type, and optionally coerce values to that type.

We can use yum or dnf to install perl-Specio on Fedora 36. In this tutorial we discuss both methods but you only need to choose one of method to install perl-Specio.

Install perl-Specio on Fedora 36 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

After updating yum database, We can install perl-Specio using dnf by running the following command:

sudo dnf -y install perl-Specio

Install perl-Specio on Fedora 36 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

After updating yum database, We can install perl-Specio using yum by running the following command:

sudo yum -y install perl-Specio

How To Uninstall perl-Specio on Fedora 36

To uninstall only the perl-Specio package we can use the following command:

sudo dnf remove perl-Specio

perl-Specio Package Contents on Fedora 36

/usr/share/doc/perl-Specio
/usr/share/doc/perl-Specio/CODE_OF_CONDUCT.md
/usr/share/doc/perl-Specio/CONTRIBUTING.md
/usr/share/doc/perl-Specio/Changes
/usr/share/doc/perl-Specio/README.md
/usr/share/doc/perl-Specio/TODO.md
/usr/share/licenses/perl-Specio
/usr/share/licenses/perl-Specio/LICENSE
/usr/share/man/man3/Specio.3pm.gz
/usr/share/man/man3/Specio::Coercion.3pm.gz
/usr/share/man/man3/Specio::Constraint::AnyCan.3pm.gz
/usr/share/man/man3/Specio::Constraint::AnyDoes.3pm.gz
/usr/share/man/man3/Specio::Constraint::AnyIsa.3pm.gz
/usr/share/man/man3/Specio::Constraint::Enum.3pm.gz
/usr/share/man/man3/Specio::Constraint::Intersection.3pm.gz
/usr/share/man/man3/Specio::Constraint::ObjectCan.3pm.gz
/usr/share/man/man3/Specio::Constraint::ObjectDoes.3pm.gz
/usr/share/man/man3/Specio::Constraint::ObjectIsa.3pm.gz
/usr/share/man/man3/Specio::Constraint::Parameterizable.3pm.gz
/usr/share/man/man3/Specio::Constraint::Parameterized.3pm.gz
/usr/share/man/man3/Specio::Constraint::Role::CanType.3pm.gz
/usr/share/man/man3/Specio::Constraint::Role::DoesType.3pm.gz
/usr/share/man/man3/Specio::Constraint::Role::Interface.3pm.gz
/usr/share/man/man3/Specio::Constraint::Role::IsaType.3pm.gz
/usr/share/man/man3/Specio::Constraint::Simple.3pm.gz
/usr/share/man/man3/Specio::Constraint::Structurable.3pm.gz
/usr/share/man/man3/Specio::Constraint::Structured.3pm.gz
/usr/share/man/man3/Specio::Constraint::Union.3pm.gz
/usr/share/man/man3/Specio::Declare.3pm.gz
/usr/share/man/man3/Specio::DeclaredAt.3pm.gz
/usr/share/man/man3/Specio::Exception.3pm.gz
/usr/share/man/man3/Specio::Exporter.3pm.gz
/usr/share/man/man3/Specio::Helpers.3pm.gz
/usr/share/man/man3/Specio::Library::Builtins.3pm.gz
/usr/share/man/man3/Specio::Library::Numeric.3pm.gz
/usr/share/man/man3/Specio::Library::Perl.3pm.gz
/usr/share/man/man3/Specio::Library::String.3pm.gz
/usr/share/man/man3/Specio::Library::Structured.3pm.gz
/usr/share/man/man3/Specio::Library::Structured::Dict.3pm.gz
/usr/share/man/man3/Specio::Library::Structured::Map.3pm.gz
/usr/share/man/man3/Specio::Library::Structured::Tuple.3pm.gz
/usr/share/man/man3/Specio::OO.3pm.gz
/usr/share/man/man3/Specio::PartialDump.3pm.gz
/usr/share/man/man3/Specio::Registry.3pm.gz
/usr/share/man/man3/Specio::Role::Inlinable.3pm.gz
/usr/share/man/man3/Specio::Subs.3pm.gz
/usr/share/man/man3/Specio::TypeChecks.3pm.gz
/usr/share/perl5/vendor_perl/Specio
/usr/share/perl5/vendor_perl/Specio.pm
/usr/share/perl5/vendor_perl/Specio/Coercion.pm
/usr/share/perl5/vendor_perl/Specio/Constraint
/usr/share/perl5/vendor_perl/Specio/Constraint/AnyCan.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/AnyDoes.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/AnyIsa.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Enum.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Intersection.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/ObjectCan.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/ObjectDoes.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/ObjectIsa.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Parameterizable.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Parameterized.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Role
/usr/share/perl5/vendor_perl/Specio/Constraint/Role/CanType.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Role/DoesType.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Role/Interface.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Role/IsaType.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Simple.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Structurable.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Structured.pm
/usr/share/perl5/vendor_perl/Specio/Constraint/Union.pm
/usr/share/perl5/vendor_perl/Specio/Declare.pm
/usr/share/perl5/vendor_perl/Specio/DeclaredAt.pm
/usr/share/perl5/vendor_perl/Specio/Exception.pm
/usr/share/perl5/vendor_perl/Specio/Exporter.pm
/usr/share/perl5/vendor_perl/Specio/Helpers.pm
/usr/share/perl5/vendor_perl/Specio/Library
/usr/share/perl5/vendor_perl/Specio/Library/Builtins.pm
/usr/share/perl5/vendor_perl/Specio/Library/Numeric.pm
/usr/share/perl5/vendor_perl/Specio/Library/Perl.pm
/usr/share/perl5/vendor_perl/Specio/Library/String.pm
/usr/share/perl5/vendor_perl/Specio/Library/Structured
/usr/share/perl5/vendor_perl/Specio/Library/Structured.pm
/usr/share/perl5/vendor_perl/Specio/Library/Structured/Dict.pm
/usr/share/perl5/vendor_perl/Specio/Library/Structured/Map.pm
/usr/share/perl5/vendor_perl/Specio/Library/Structured/Tuple.pm
/usr/share/perl5/vendor_perl/Specio/OO.pm
/usr/share/perl5/vendor_perl/Specio/PartialDump.pm
/usr/share/perl5/vendor_perl/Specio/Registry.pm
/usr/share/perl5/vendor_perl/Specio/Role
/usr/share/perl5/vendor_perl/Specio/Role/Inlinable.pm
/usr/share/perl5/vendor_perl/Specio/Subs.pm
/usr/share/perl5/vendor_perl/Specio/TypeChecks.pm

References

Summary

In this tutorial we learn how to install perl-Specio on Fedora 36 using yum and [dnf]((/fedora/36/dnf/).