Specio::DeclaredAt(3) User Contributed Perl Documentation Specio::DeclaredAt(3)

# [SYNOPSIS](#SYNOPSIS)

```
    my $declared = Specio::DeclaredAt->new_from_caller(1);
    print $declared->description;
```

# [DESCRIPTION](#DESCRIPTION)

This class provides a thin wrapper around some of the return values from Perl's "caller" built-in. It's used internally to identify where types and coercions are being declared, which is useful when generating error messages.

# [API](#API)

This class provides the following methods.

## [Specio::DeclaredAt-&gt;new\_from\_caller($depth)](#Specio::DeclaredAt)

Given a call stack depth, this method returns a new "Specio::DeclaredAt" object.

## $declared\_at-&gt;package, $declared\_at-&gt;filename, $declared\_at-&gt;line

Returns the call stack information recorded when the object was created. These values are always populated.

## [$declared\_at-&gt;subroutine](#$declared_at)

Returns the subroutine from the call stack. This may be an "udnef"

## [$declared\_at-&gt;has\_subroutine](#$declared_at~2)

Returns true if there is a subroutine name associated with this object.

## [$declared\_at-&gt;description](#$declared_at~3)

Puts all the information together into a single string like "declared in package Foo::Bar (.../Foo/Bar.pm) at line 42 in sub named blah".

2026-10-24 perl v5.44.0

---

Document: Specio::DeclaredAt(3pm) from perl-specio 0.53-r6 (Chainguard OS)
Source: https://github.com/houseabsolute/Specio
