in reply to Last Mod using server side perl

Your Java Script was doing the right thing. Java Script gets date last modified from the HTTP header, if it presents. In case it does not present, document.lastModified returns "0", which is then interpreted as the "beginning of time". Doesn't matter what script language you use, this cannot be resolved on client side, as the field simply does not present.

Do it on server side, and make sure your web server does send date last modified whenever it is needed.

Check out stat() under perlfunc doc, and that should give you the modified date, format it, then just insert it into your HTTP header, and send out.

Update:

liz, the behavior is documented, and it does return "0". Happy New Year!

Happy New Year! ChemBoy.

Replies are listed 'Best First'.
Re: Re: Last Mod using server side perl
by liz (Monsignor) on Dec 31, 2003 at 18:48 UTC
    ...document.lastModified returns "0", which is then interpreted as the "beginning of time".

    Minor nit: if the date displayed is "12/31/1969", then document.lastModified probably returned "-1", rather than "0". In other words, the second before midnight Jan 1st, 1970, which is the beginning of time as far as *nix is concerned.

    By the way, this nitpicking only feels appropriate because it's only hours away from midnight, Jan 1st, 2004. ;-)

    Liz

      Nit back atcha—for those of us in zones less than GMT (e.g. GMT -400, my current location), Unix date 0 is indeed in 1969, since the beginning if time took place in England. :-)



      If God had meant us to fly, he would *never* have given us the railroads.
          --Michael Flanders

      liz, it is documented behavior to return "0", but not "-1". If you take time zone into consideration, it is definitely not a surprise to see "1969/12/31" get printed.