in reply to Re: Ovid's "Please Stop Using Perl 3"
in thread Ovid's "Please Stop Using Perl 3"

One solution might be to make installing from CPAN much easier (for a packaged distro, say), but people have been saying that for a long time ... and perl-DateManip is in basically every distro. and I still see code avoiding it.

Hmm... I can't find it on my system. I've got perl5.6.1; maybe that's too old?

Has the perl community finally standardized on a single, reliable date and time module? Every place I've ever worked, there's always been some home-grown date/time solution, and when I suggested downloading something from CPAN, no one could decide on what to download, so they had an excuse to maintain the status quo. *sigh*

If perl5.8 has a standard date/time module, that's reason to upgrade right there, IMHO. Is Date::Manip it, or was that just your favourite choice in yet another CPAN holy war?

  • Comment on Re^2: Ovid's "Please Stop Using Perl 3"

Replies are listed 'Best First'.
Re^3: Ovid's "Please Stop Using Perl 3" (Date::Manip)
by tye (Sage) on Sep 06, 2006 at 18:03 UTC

    Date::Manip is ancient and was highly regarded for being very flexible (especially at parsing date strings of unknown format) but noted for being quite "slow". It certainly isn't a "new date/time module" that people are trying to standardize on.

    I still see quite a few different date/time modules being suggested so consolidation is not working very well yet from my perspective. I recall that there is work being done on some Holy Grail suite of Perl date/time modules but don't recall the namespace (it was something really simple like DateTime::*), which might say something about why consolidation isn't finished. I certainly don't have a good idea where I'd go to figure out which date/time module currently has the most support and that is part of why I don't use any date/time modules.

    I just use localtime, gmtime, and Time::Local and sometimes POSIX::strftime() and would find learning some module time-consuming and fully expect to find using the module to be quite frustrating. But I'm sure most peoples' mileage will vary.

    - tye        

      Well I've never cared about the "slow" aspect, I often want it where I have a string which represents a "date and time" and I just pass it to ParseDate() and that "just works".

      In many cases strptime would work and I might use that with strftime etc., if it was in core ... but it seems worthless to pull a module in for strptime, when I can just pull Date::Manip in instead.

      How do you parse date/time strings?

      --
      And-httpd, $2,000 security guarantee
      James Antill
        How do you parse date/time strings?

        I don't parse dates in unknown formats. Most date strings I deal with can be parsed with /(\d\d)/g, as it should be. On rare occasions I've worked with worse formats but the worst case was just building a simple hash of month abbreviations.

        When I do parse date strings, I usually parse one per line for tons of lines and so "slow" adds up quickly and so I probably wouldn't use Date::Manip.

        Thanks for pointing out how much else Date::Manip does well.

        - tye        

      I just use localtime, gmtime, and Time::Local and sometimes POSIX::strftime() and would find learning some module time-consuming and fully expect to find using the module to be quite frustrating. That's what I tend to do, too. Time::Local and POSIX both seem to be part of the core distribution, as of 5.6.1. This is a good thing.
Re^3: Ovid's "Please Stop Using Perl 3"
by iburrell (Chaplain) on Sep 07, 2006 at 00:17 UTC
    DateTime is the best date time module. Comprehensive but nice object-oriented interface over quick-and-dirty. Handles timezones. Heck, it handles tons of different formats and even other calendars. There is a lot of modules to install from CPAN but you will be happy once you get them installed.