BSD Ports

devel/p5-indirect 0.39p0 OpenBSD

lexically warn about using the indirect method call syntax

System
OpenBSD
Repository
OpenBSD ports
Maintainer
The OpenBSD ports mailing-list <[email protected]>
Categories
devel, perl5

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.

In the other systems

The newest version among them is 0.39, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
OpenBSDdevel/p5-indirect0.39p0 newestno data-The OpenBSD ports mailing-list <[email protected]>-
FreeBSDdevel/p5-indirect0.39 newestnone known-[email protected]-
NetBSDdevel/p5-indirect0.39nb7 newestnone known-[email protected]2026-07-16
DragonFlydevel/p5-indirect0.39 newestnone known-[email protected]-
MidnightBSDdevel/p5-indirect0.39_1 newestno data-[email protected]-
HardenedBSDdevel/p5-indirect0.39 newestno data-[email protected]-
GhostBSDdevel/p5-indirect0.39 newestno data-[email protected]-

Compare across BSDs

Install

Binary package:

pkg_add p5-indirect

From the ports tree:

cd /usr/ports/devel/p5-indirect && make install

Dependencies

No port depends on this one.