On Fri, 17 Oct 2003, Matt Wright wrote:
1) I've installed all of the pre-requisites for DateTime on a RedHat 9 box
and now when I try to perl Makefile.PL for 0.1705 I get:
Testing if you have a C compiler
make: *** No rule to make target `testub'. Stop.
I think this may be some screwiness in the Config.pm included in RedHat 9,
which IIRC is using a version of Perl from the maintenance branch between
5.8.0 5.8.1, because RH is a bunch of morons who like to create annoying
support problems for us upstream authors.
Maybe try something like:
CC=/path/to/gcc perl Makefile.PL
?
Unfortunately, I just realized that the Makefile.PL lies when it says you
can force use of XS with the --xs flag. It actually won't respect that.
Oops.
It also fails to detect a C compiler or pod2man, although right before this
I had just installed all of the pre-reqs for this module which had shown no
errors.
Again, this sounds like a Config.pm problem.
2) I read Dave's article (The Many Dates and Times of Perl) which was very
helpful -- and it seemed like he was concerned with how large the existing
modules got under mod_perl. Do you have any sort of benchmarks or
estimations on how much RAM DateTime DateTime::TimeZone will add to an
app? It seems like having hundreds of modules for the time zone conversions
could add up fast.
Well, if you load _all_ of them it will use up a lot of memory. But my
guess is that in a normal app, if you load them as they're used, you'll
never load more than 5-10 at most.
If you know you're just going to use a small pre-defined set (like just US
time zones), you can preload them at server startup to save memory.
I really don't need a lot of the advanced functionality that DateTime
provides, I basically just want to be able to convert a stored UTC time into
various time zones based on the Olson zones. Am I using the right tool?
Probably.
There's really not much out there for Perl that really supports time zones
in a useful way. In fact, the only other way I know of to do it would be
to set $ENV{TZ} to a new time zone and then call POSIX::tzset(), which
will change what localtime() returns.
-dave
/*===
House Absolute Consulting
www.houseabsolute.com
===*/