Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^2: This could have DWIM better

by demerphq (Chancellor)
on Mar 01, 2006 at 18:03 UTC ( #533714=note: print w/replies, xml ) Need Help??


in reply to Re: This could have DWIM better
in thread This could have DWIM better

I darenít use it in any complex codebase that relies on a lot of CPAN code either.

Why? I thought that this trick would only affect the module its declared in. Its not going to have a global effect fwir.

---
$world=~s/war/peace/g

Replies are listed 'Best First'.
Re^3: This could have DWIM better
by Aristotle (Chancellor) on Mar 01, 2006 at 18:22 UTC

    Quoth perlsub:

    Library modules should not in general export built-in names like open or chdir as part of their default @EXPORT list, because these may sneak into someone elseís namespace and change the semantics unexpectedly. Instead, if the module adds that name to @EXPORT_OK, then itís possible for a user to import the name explicitly, but not implicitly. That is, they could say

    use Module 'open';

    and it would import the open override. But if they said

    use Module;

    they would get the default imports without overrides.

    The foregoing mechanism for overriding built-in is restricted, quite deliberately, to the package that requests the import. There is a second method that is sometimes applicable when you wish to override a built-in everywhere, without regard to namespace boundaries. This is achieved by importing a sub into the special namespace CORE::GLOBAL::.

    Emphasis mine.

    Makeshifts last the longest.

      Ah, thanks for the clarification. I misremembered this. Am I correct that this doesnt apply to prototypeless routines like print?

      ---
      $world=~s/war/peace/g

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://533714]
help
Chatterbox?
[tye]: py monks would just be offended.
[Corion]: ;)
[Corion]: Hi tye btw ;)
[Corion]: I found plenty of not chatty enough logs with Perl too ... I'm slowly coming to appreciate Log::Log4perl resp. our homegrown alternative
[tye]: my experience with python so far is more like finding a moderately useful error message is a shocking surprise.
Corion disappears

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (11)
As of 2017-09-21 20:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (252 votes). Check out past polls.

    Notices?