in reply to Re: function chdir in Module Cwd broken?
in thread function chdir in Module Cwd broken?

While I agree the duplicate use is bad in the OP, I disagree with your blanket statement that a module shouldn't be used twice. For example, my script and a module used by my script might both use FileHandle. It can even be acceptable within the same file. Consider a style I often use:

use Some::Module (); # Don't import anything here. # ---------- package Package1; use Some::Module qw( ... ); # import something ... # ---------- package Package2; use Some::Module qw( ... ); # import something ... # ---------- package main; { ... main program ... }

One could argue this should be split into multiple files, but you'd still be including the Some::Module more than once.

Replies are listed 'Best First'.
Re: Using the same module twice
by Aighearach (Initiate) on Nov 08, 2004 at 21:04 UTC
    Yeah, but I think that it's still true as a general principle. Of course there are exceptions. I'd even go so far as to say, there are exceptions to the rule "never use goto LABEL" . But I would still say, when I was looking at something other than that cosmically rare situation, that the general rule is valid.

    The only reason your example is okay, IMO, is that you're pressed for time and are planning to split that module into more than one later, when your teapot isn't boiling over or whatever. That's the only reason for it; it's temporary and prevents a problem later. Otherwise it's redundant, confusing, and reinforces and incorrect notion of scope.


    --
    Snazzy tagline here