Linux workstation

Upstream software project

perl-try-tiny

Minimal try/catch with proper preservation of $@

About perl-try-tiny

Minimal try/catch with proper preservation of $@

This project links 12 native package records across 9 recorded operating-system releases. Compare the retained versions and architectures below, then open the package for your own release.

These are catalog observations, not a guarantee of installation, compatibility, or upstream support.

Project pictures and package coverage

Alpine Linux 3.21: 2 package records; Alpine Linux 3.22: 2 package records; Alpine Linux 3.23: 2 package records; Debian 12 (Bookworm): 1 package records; Debian 13 (Trixie): 1 package records; Fedora 43: 1 package records; Fedora 44: 1 package records; openSUSE Leap 16.0: 1 package records; openSUSE Tumbleweed: 1 package records. Catalog coverage diagram, not an application screenshot.perl-try-tiny: recorded package coverageAlpine Linux 3.212 recordsAlpine Linux 3.222 recordsAlpine Linux 3.232 recordsDebian 12 (Bookworm)1 recordsDebian 13 (Trixie)1 recordsFedora 431 recordsFedora 441 recordsopenSUSE Leap 16.01 records
OpenFactory diagram of linked package records. The first eight releases are shown; all 9 appear below. It is not an application screenshot.

Project identity

Project
perl-try-tiny
Publisher
Not authoritatively mapped
Native package records
12
Operating systems
alpine-linux-3-21, alpine-linux-3-22, alpine-linux-3-23, debian-12, debian-13, fedora-43, fedora-44, opensuse-leap-16-0, opensuse-tumbleweed
License expression
MIT
Metadata completeness
70/100 (not a software quality rating)
Source repository
Not reported

Source-reported description

The fullest retained description is shown with its source. Distribution packaging descriptions may include downstream details.

This module provides bare bones 'try'/'catch'/'finally' statements that are designed to minimize common mistakes with eval blocks, and NOTHING else. This is unlike TryCatch which provides a nice syntax and avoids adding another call stack layer, and supports calling 'return' from the 'try' block to return from the parent subroutine. These extra features come at a cost of a few dependencies, namely Devel::Declare and Scope::Upper which are occasionally problematic, and the additional catch filtering uses Moose type constraints which may not be desirable either. The main focus of this module is to provide simple and reliable error handling for those having a hard time installing TryCatch, but who still want to write correct 'eval' blocks without 5 lines of boilerplate each time. It's designed to work as correctly as possible in light of the various pathological edge cases (see BACKGROUND) and to be compatible with any style of error values (simple strings, references, objects, overloaded objects, etc). If the 'try' block dies, it returns the value of the last statement executed in the 'catch' block, if there is one. Otherwise, it returns 'undef' in scalar context or the empty list in list context. The following examples all assign '"bar"' to '$x': my $x = try { die "foo" } catch { "bar" }; my $x = try { die "foo" } || "bar"; my $x = (try { die "foo" }) // "bar"; my $x = eval { die "foo" } || "bar"; You can add 'finally' blocks, yielding the following: my $x; try { die 'foo' } finally { $x = 'bar' }; try { die 'foo' } catch { warn "Got a die: $_" } finally { $x = 'bar' }; 'finally' blocks are always executed making them suitable for cleanup code which cannot be handled using local. You can add as many 'finally' blocks to a given 'try' block as you like. Note that adding a 'finally' block without a preceding 'catch' block suppresses any errors. This behaviour is consistent with using a standalone 'eval', but it is not consistent with 'try'/'finally' patterns found in other programming languages, such as Java, Python, Javascript or C#. If you learned the 'try'/'finally' pattern from one of these languages, watch out for this.

Description source

Packages by operating system

Compare recorded versions, then open a package for dependency, file, checksum, and repository evidence. Version strings are distribution-specific, not a ranking of newer software.

Alpine Linux 3.21

  1. perl-try-tiny

    Alpine Linux 3.21 / source perl-try-tiny

    0.32-r0

    Minimal try/catch with proper preservation of $@

    aarch64x86_64v3.21
  2. perl-try-tiny-doc

    Alpine Linux 3.21 / source perl-try-tiny

    0.32-r0

    Minimal try/catch with proper preservation of $@ (documentation)

    aarch64x86_64v3.21

Alpine Linux 3.22

  1. perl-try-tiny

    Alpine Linux 3.22 / source perl-try-tiny

    0.32-r0

    Minimal try/catch with proper preservation of $@

    aarch64x86_64v3.22
  2. perl-try-tiny-doc

    Alpine Linux 3.22 / source perl-try-tiny

    0.32-r0

    Minimal try/catch with proper preservation of $@ (documentation)

    aarch64x86_64v3.22

Alpine Linux 3.23

  1. perl-try-tiny

    Alpine Linux 3.23 / source perl-try-tiny

    0.32-r0

    Minimal try/catch with proper preservation of $@

    aarch64x86_64v3.23
  2. perl-try-tiny-doc

    Alpine Linux 3.23 / source perl-try-tiny

    0.32-r0

    Minimal try/catch with proper preservation of $@ (documentation)

    aarch64x86_64v3.23

Debian 12 (Bookworm)

  1. libtry-tiny-perl

    Debian 12 (Bookworm) / perl

    0.31-2

    module providing minimalistic try/catch

    allbookworm

Debian 13 (Trixie)

  1. libtry-tiny-perl

    Debian 13 (Trixie) / perl

    0.32-1

    module providing minimalistic try/catch

    alltrixie

Fedora 43

  1. perl-Try-Tiny

    Fedora 43 / Unspecified / source perl-Try-Tiny

    0.32-3.fc43

    Minimal try/catch with proper localization of $@

    noarch43

Fedora 44

  1. perl-Try-Tiny

    Fedora 44 / Unspecified / source perl-Try-Tiny

    0.32-4.fc44

    Minimal try/catch with proper localization of $@

    noarch44

openSUSE Leap 16.0

  1. perl-Try-Tiny

    openSUSE Leap 16.0 / Unspecified / source perl-Try-Tiny

    0.31-160000.2.2

    Minimal try/catch with proper preservation of $@

    noarchleap-16.0

openSUSE Tumbleweed

  1. perl-Try-Tiny

    openSUSE Tumbleweed / Unspecified / source perl-Try-Tiny

    0.320.0-1.6

    Minimal try/catch with proper preservation of $@

    noarchtumbleweed

Project resources and further reading

Mapping provenance

Only source-backed identity signals create public cross-OS links. A reviewer can later approve or dispute an inferred relationship without rewriting native package history.

No field-level source record is published yet.