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


in reply to Re: Fixed a year later...
in thread can't import using exporter

To each their own.

When I see a BEGIN block, it interrupts the structure of the code.

Also I find a need to re-use strict & warnings inside of different packages.

I tend to use alot of packages in writing programs as a means to create typed-classes. I.e. if I need a structure, I want a type for it and that usually means a class/package.

But for most data types/structures, I wouldn't see them getting large enough or important enough to split into separate files. Most of my code writing was in C -- and I liked typedefs and structures for grouping data. But one virtually never thinks of putting each typedef and structure into a separate file.

One also doesn't like seeing lots of #if/#define/#else#endif's in C-code as they disrupt the normal indentation and the *visual* flow of the code. I like to see the look of the code reflect its function and having an ALLCAPS standoff block just doesn't look attractive. It highlights something unimportant -- that you need to make sure your defines are executed in phase1 of the perl interpreter, in order that they work in phase2. To me, users shouldn't have to think about those things -- they should just 'work'. So rather than having my attention drawn to quirks specific to perl, I can focus my attention on the underlying algorithm. Using BEGIN or referencing $INC{xxx}, takes my attention away from the underlying algorithm and makes focusing on it more difficult. But that's a quirk of my programming! ;-)

Someone on a list recently said they WANTED their usage of quirks to stand out... *ouch*... to me, those are things to gloss over, not emphasize.

Oh well, as I said, to each their own...