lexically warn about using the indirect method call syntax
Project homepage: https://metacpan.org/release/indirect
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
Ports list build and test dependencies as well as runtime dependencies. pkg_add selects those needed for installation.
Direct dependencies
Test
Used by (1 dependency relationships)
Includes library, runtime, build and test dependencies.