OpenBSD Handbook

Current snapshot · amd64 · Generated 2026-09-09

p5-indirect-0.39p0

lexically warn about using the indirect method call syntax

Back to search · Project homepage

Description

When enabled, this pragma warns about indirect method calls that are present in your code. The indirect syntax is now considered harmful, since its parsing has many quirks and its use is error prone : when the subroutine foo has not been declared in the current package, foo $x actually compiles to $x->foo, and foo { key => 1 } to 'key'->foo(1). In http://www.shadowcat.co.uk/blog/matt-s-trout/indirect-but-still-fatal, Matt S. Trout gives an example of an undesirable indirect method call on a block that can cause a particularly bewildering error. This pragma currently does not warn for core functions (print, say, exec or system). This may change in the future, or may be added as optional features that would be enabled by passing options to unimport.

Package information

Ports path
devel/p5-indirect
Package architecture
amd64
Maintainer
The OpenBSD ports mailing-list <ports@openbsd.org>
Categories
devel, perl5
Available flavors
None listed

These are ports metadata. Binary availability depends on the release, architecture and mirror. Build and test dependencies are not an installation checklist.

Direct dependencies

Test

Used by (1 dependency relationships)

Includes library, runtime, build and test relationships. Results load 100 at a time.

Installing and updating packages · Package details as JSON