Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: perlfunc index name conflict

by Anonymous Monk
on Sep 23, 2012 at 22:40 UTC ( #995266=note: print w/replies, xml ) Need Help??


in reply to perlfunc index name conflict

Well, CORE::index, but FWIW, I doubt PDL exports an index function

Replies are listed 'Best First'.
Re^2: perlfunc index name conflict
by syphilis (Chancellor) on Sep 23, 2012 at 23:09 UTC
    I doubt PDL exports an index function

    I expected the same ... but, apparently, not so:
    use warnings; use strict; use warnings; use PDL; print index('hello world', 'lo w'), "\n";
    This outputs:
    Argument "hello world" isn't numeric in subroutine entry at try.pl lin +e 7. Argument "lo w" isn't numeric in subroutine entry at try.pl line 7. 0
    If we comment out the "use PDL;" we then get the expected output of "3".
    As Anonymous Monk said, one solution is to use CORE::index() instead of index().
    Another solution is to use PDL(); instead of use PDL;

    But it's a bit rude of PDL to be exporting this function by default, isn't it ?

    Update: The PDL documentation states:
    PDL includes about a dozen perl modules that form the core of the language, plus additional modules that add further functionality. The perl module "PDL" loads all of the core modules automatically, making their functions available in the current perl namespace.
    and
    Exports "use PDL;" exports a large number of routines into the calling namespace. If you want to avoid namespace pollution, you must instead "use PDL::Lite", and include any additional modules explicitly.
    So this *is* documented ... and it seems that the recommended solution is to "use PDL::Lite;".

    Cheers,
    Rob

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://995266]
help
Chatterbox?
[erix]: then you might as well send that patch to the DBIC guys :)
[Corion]: erix: Yeah, I just found that it has no documentation at all on how to circumvent/ eliminate "1+n SELECTs" by building a local hash... I guess I have to make ->has_many do the hash lookup instead of doing the SQL query. But as the problem ...
[Corion]: ... has only manifested itself so far through the puzzled questions of other bystanders, I won't go deeper at this time. But the DBIx::Class documentation could well do with a document on how to make "it" (that is, ORMs in general) faster ;)

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2017-09-25 11:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (279 votes). Check out past polls.

    Notices?