In Re: Inlining method/function calls?
describes using the C preprocessor for macro definitions. All of a sudden, I'm wondering why constant
is needed. Could someone tell me why constant
is preferable to #define in the following code?
#define ABC 1
use constant DEF => 1;
print ABC, $/;
print DEF, $/;
gcc: file path prefix `/usr/ccs/bin/' never used
One thing I'm noticing is that gcc has a warning it throws up. But, wouldn't using the C preprocessor be faster and use less memory than constant
, especially for large numbers of them? I'm thinking of sites with mod_perl and a large number of hits ...
Also, what's the difference in using #include vs. require? And, doesn't #define provide first-class macros where there is no real provision for them in Perl?
We are the carpenters and bricklayers of the Information Age.
Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.
Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.