10-25-2013
Bug noted, thank you a lot, I had --date "something" when I should have done --date="something".
Thanks for reminding me about the +syntax feature, which I'd planned but forgotten.
Date math is not hard here, I am letting mktime handle absolutely everything tricky. I do not need to know when the next leap year is, I subtract 1 from the 'year' value and let mktime decide what that is.
Yes yes I know that Perl has about 37 different date modules I could be using. But if I'm going to tell someone to install 'Perl::MyFavoriteDateModule' I might as well just tell them to install GNU date. The whole point is to not do that, (and to show elegant Perl code is possible without including the kitchen sink).
Some of those tests are just weird though. I have no idea how you got 23 hours from subtracting days, it certainly doesn't happen here. I may have done something odd with a last-minute fix when I posted. [edit] Now I know. It happened because of the --date vs --date= problem. Perl does strange things when you do arithmetic on strings.
Anyway, I'll incorporate your suggestions and repost. Thanks again. [edit] Version 2 is now in the OP.
Last edited by Corona688; 10-25-2013 at 06:57 PM..
8 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Does anyone have any scripts or suggestions on a general purpose Unix/Linux monitoring tool? (5 Replies)
Discussion started by: darthur
5 Replies
2. UNIX for Dummies Questions & Answers
whats the purpose of the following script? who could run it? To what is the script refering that exceeds 75%? The mailbox?
What does sed 's/%//' do? (1 Reply)
Discussion started by: vrn
1 Replies
3. Shell Programming and Scripting
Status quo is, within a web application, which is coded completely in php (not by me, I dont know php), I have to fill out several fields, and execute it manually by clicking the "go" button in my browser, several times a day.
Thats because:
The script itself pulls data (textfiles) from a... (3 Replies)
Discussion started by: lowmaster
3 Replies
4. Shell Programming and Scripting
I have two files
(___ represents blanks)
Foo1
1000 345 456
1001 876 908
1002 ___ 786
1003 643 908
1004 345 234
and Foo2
1000 345
1001 876
1002 111
1003 643
1004 345 (3 Replies)
Discussion started by: garethsays
3 Replies
5. Shell Programming and Scripting
Hello everyone
I am new to this forum
I am working on a project and needed a test script to fill up a disk partition /tmp/data to see how the program fails.
The system I am working on is a redhat 5.3.
Is there anything out there?
Thanks. (10 Replies)
Discussion started by: dp100022
10 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I am new for unix and I am following ABS guide. What is the purpose of - (hypen ) in the below command and What it will do in this?. Can anyone explain it in detail. Rest of the things in the below command I understood somewhat.
(cd /source/directory && tar cf - . ) | (cd /dest/directory &&... (1 Reply)
Discussion started by: gwgreen1
1 Replies
7. Shell Programming and Scripting
I have file listed like below
-rw-r--r--+ 1 test test 17M Nov 26 14:43 test1.gz
-rw-r--r--+ 1 test test 0 Nov 26 14:44 test2.gz
-rw-r--r--+ 1 test test 0 Nov 27 10:41 test3.gz
-rw-r--r--+ 1 test test 244K Nov 27 10:41 test4.gz
-rw-r--r--+ 1 test test 17M Nov 27 10:41 test5.gz
I... (5 Replies)
Discussion started by: krish2014
5 Replies
8. UNIX for Beginners Questions & Answers
I've been kicking this around for a while now, I might as well post it here.
v0.0.9, now properly supporting self-closing tags.
v0.0.8, an important quoting fix and a minor change which should handle special <? <!-- etc. tags without seizing up as often. Otherwise the code hasn't changed much.... (6 Replies)
Discussion started by: Corona688
6 Replies
LEARN ABOUT SUSE
date::manip::migration5to6
Date::Manip::Migration5to6(3) User Contributed Perl Documentation Date::Manip::Migration5to6(3)
NAME
Date::Manip::Migration5to6 - how to upgrade from 5.xx to 6.00
SYNOPSIS
When upgrading from Date::Manip 5.xx to 6.00, a few changes may be necessary to your scripts.
The Date::Manip::Changes5to6 document lists in more detail the ways in which Date::Manip changed, but very few of these actually entail
changes to your script.
It should be noted that once the changes are made to your script, it will no longer run correctly in 5.xx.
NECESSARY AND SUGGESTED CHANGES
The following changes are necessary, or strongly suggested:
Reading config files with Date_Init
If you use Date_Init to read any config files (if you do business mode calculations, you probably do), you should remove all of the
following config variables from your call to Date_Init:
GlobalCnf=FILE
PersonalCnf=FILE
PathSep=*
IgnoreGlobalCnf=*
PersonalCnfPath=*
and replace them with:
ConfigFile=FILE
where FILE is now the full path to a config file. Also, the ConfigFile argument should be the first argument in Date_Init.
Date_ConvTZ
The Date_ConvTZ function has changed. It should now take 3 arguments:
$date = Date_ConvTZ($date,$from,$to);
If $from is not given, it defaults to the local time zone. If $to is not given, it defaults to the local time zone.
The date is converted from the $from time zone into the $to time zone. Both should be any time zone (or alias) supported by
Date::Manip.
The old $errlevel argument is no longer handled.
ConvTZ and TZ config variables
If you use either the ConvTZ or TZ config variables, you should replace them with either SetDate or ForceDate. See the
Date::Manip::Config document for information.
Other deprecated config variables
Most of the deprecated config variables continue to function (though they will be removed at a future date). These include:
GlobalCnf
IgnoreGlobalCnf
PersonalCnf
PersonalCnfPath
PathSep
TZ
Internal
The following variables have been removed. If you use any of them, you may need to modify your scripts:
ConvTZ
TodayIsMidnight
DeltaSigns
UpdateCurrTZ
today, yesterday, tomorrow
If you parse the strings "today", "yesterday", or "tomorrow" in order to get the time now, or 24 hours in the past/future, this will no
longer work. These strings now refer strictly to the date (so "today" is the current day at midnight, "yesterday" is the previous day
at midnight, etc.).
To get the time now, 24 hours ago, or 24 hours in the future, you would need to parse the strings "now", "-24:00:00", or "+24:00:00"
respectively.
Do not use Memoize
In 5.xx, it was documented that you could use the module Memoize to speed up Date::Manip, especially when sorting dates.
This information is no longer accurate. Using Memoize in conjuction with Date::Manip should have little impact on performance, and may
lead to incorrect results, especially if you change config variables.
Please see the Date::Manip::Changes5to6 (GENERAL CHANGES) document for more information.
If you find other instances where it is necessary to modify your script, please email me so that I can add that information to this
document.
BUGS AND QUESTIONS
Please refer to the Date::Manip::Problems documentation for information on submitting bug reports or questions to the author.
SEE ALSO
Date::Manip - main module documentation
LICENSE
This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Sullivan Beck (sbeck@cpan.org)
perl v5.12.1 2010-01-12 Date::Manip::Migration5to6(3)