in reply to Re^3: Calling a sub without enclosing its argument inside brackets
in thread Calling a sub without enclosing its argument inside brackets

"Can pragmas be written or are they part of the Perl release?"

Many pragmata form part of the core Perl distribution: see "Pragmatic Modules".

As of Perl v5.10, you can write your own. The core doco perlpragma explains how to do this.

— Ken

  • Comment on Re^4: Calling a sub without enclosing its argument inside brackets
  • Download Code

Replies are listed 'Best First'.
Re^5: Calling a sub without enclosing its argument inside brackets
by syphilis (Archbishop) on Mar 19, 2024 at 13:01 UTC
    The core doco perlpragma explains how to do this.

    The main drawback to that approach for my little project is the additional overhead of having to turn perl scalars into Math::Ryu objects and then overloading their stringification.
    It's probably not such a big deal, but then neither is the original issue ;-)
    BTW, in the Math::Ryu github repo, the function is named "pany", not "palt" - neither of which have yet appeared in a cpan release of the module.

    AFAICT, the "integer" pragma doesn't rely on module objects and operator overloading.
    I speculate that it's functionality is built into the perl source, thereby avoiding the need for objectification and operator overloading.

    OTOH, "bignum", "bigrat", "bigint" and "bigfloat" are clearly built on Math::BigInt, Math::BigRat and Math::BigFloat, and use the overloading that those 3 modules provide.

    It's all interesting stuff ...

    Cheers,
    Rob