http://www.perlmonks.org?node_id=997012


in reply to Re^4: How to import names from a dynamically required module
in thread How to import names from a dynamically required module

Or you can use Math::BigInt->new, because the odds of there being a BigInt sub in the Math package are astronomical :)

  • Comment on Re^5: How to import names from a dynamically required module

Replies are listed 'Best First'.
Re^6: How to import names from a dynamically required module
by tobyink (Canon) on Oct 03, 2012 at 09:11 UTC

    The odds are small, yes. In my decade plus of Perl usage I've encountered bugs because of this two, perhaps three, times. But each time it took me bloody ages to figure out, which is why I have been trying to avoid this ambiguity in recent work.

    The aliased module is, by the way, an excellent way of avoiding these problems:

    use aliased 'Math::BigInt'; my $seven = BigInt->new(7); # no ambiguity
    perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'