Numerical and string comparisons require different operators.
This is from perldoc perlop:
Quote:
Relational Operators
Binary "<" returns true if the left argument is numerically less than
the right argument.
Binary ">" returns true if the left argument is numerically greater
than the right argument.
Binary "<=" returns true if the left argument is numerically less than
or equal to the right argument.
Binary ">=" returns true if the left argument is numerically greater
than or equal to the right argument.
Binary "lt" returns true if the left argument is stringwise less than
the right argument.
Binary "gt" returns true if the left argument is stringwise greater
than the right argument.
Binary "le" returns true if the left argument is stringwise less than
or equal to the right argument.
Binary "ge" returns true if the left argument is stringwise greater
than or equal to the right argument.
Equality Operators
Binary "==" returns true if the left argument is numerically equal to
the right argument.
Binary "!=" returns true if the left argument is numerically not equal
to the right argument.
Binary "<=>" returns -1, 0, or 1 depending on whether the left argument
is numerically less than, equal to, or greater than the right argument.
If your platform supports NaNs (not-a-numbers) as numeric values, using
them with "<=>" returns undef. NaN is not "<", "==", ">", "<=" or ">="
anything (even NaN), so those 5 return false. NaN != NaN returns true,
as does NaN != anything else. If your platform doesn't support NaNs
then NaN is just a string with numeric value 0.
perl -le '$a = "NaN"; print "No NaN support here" if $a == $a'
perl -le '$a = "NaN"; print "NaN support here" if $a != $a'
Binary "eq" returns true if the left argument is stringwise equal to
the right argument.
Binary "ne" returns true if the left argument is stringwise not equal
to the right argument.
Binary "cmp" returns -1, 0, or 1 depending on whether the left argument
is stringwise less than, equal to, or greater than the right argument.
Binary "~~" does a smart match between its arguments. Smart matching is
described in "Smart matching in detail" in perlsyn.
"lt", "le", "ge", "gt" and "cmp" use the collation (sort) order
specified by the current locale if "use locale" is in effect. See
perllocale.
This works perfectly fine.
But, $my $min_to_add = 1 * 1 * 60; and my $hr_to_sub = 1 * 1 * 86400; i may need to change the values in future. so am keeping them in a separate configuration file like
in the script, i use a package use et_config and Et_Config_Init()
I call them inside the script like
The issue here is, when i use those values directly in the script, it takes the multiplied value as 1 * 1 * 60 =60 but when i get them from the configuration file, it remains as 1 * 1 * 60 only as such , so i am not getting the result expected.
Is there any function that can do this?
The configuration file is mandatory. How can this be achieved?
Code:
Last edited by radoulov; 07-29-2011 at 10:33 AM..
Reason: Please use code tags!
Hi,
I have a quick question on parsing the hour/minute and value from a text file and remove the seconds portion. For example in the below text file:
20:26:01 95.83
20:27:01 96.06
20:28:01 95.99
20:29:01 7.11
20:30:01 5.16
20:31:01 8.27
20:32:02 9.79
20:33:01 11.27
20:34:01 7.83... (2 Replies)
Hi friends, I want to convert 24 hour timing to 12 hour please help me...
my data file looks like this..
13-Nov-2011 13:27:36 15.32044 72.68502
13-Nov-2011 12:08:31 15.31291 72.69807
16-Nov-2011 01:16:54 15.30844 72.74028
15-Nov-2011 20:09:25 15.35096 ... (13 Replies)
Hello All,
Is there any *easy* and efficient way to add "one hour" to few fields in a file? . I have done this using a python script and it has hit with performance issues.
I have around 200mi of records, which I need to modify and send across in one hour.
sample input:
'2012-10-17... (2 Replies)
This is a new one on me. We upgraded a system from AIX 5.3 TL 7 to 6.1 TL 7 yesterday. The app people notified us that their cron jobs weren't running at the right time. So I made a test cron entry and here's what I've found:
# crontab -l
* * * * * /usr/bin/date > /tmp/test.log 2>&1
# cat... (2 Replies)
I'm trying to do some simple math on a 24 hour time base.
The time is in the format of HM (HoursMinutes)
For example:
2330 #23:30
1800 #18:00
730 #07:30
my problem is with the single-digit hours. If the time is 2200, I use this code:
baseTime=2200
minutes=${baseTime:2:3}... (3 Replies)
Hello,
I try to insert a post because I've got a trouble to perform a unix job. But I didn't found which steps (procedure) I should follow. Could you help me?
I got a log by my Application box, like following:
gbosmam037:test >view Log_Server.csv
... (2 Replies)
I am setting TZ=EST5EDT,M3.2.0/02:00:00,M11.1.0/02:00:00
Then Setting the date to Mar 14 01:40 EST
date 0314014010
Sun Mar 14 01:40:36 EDT 2010
Note that it show it EST. According to my TZ variable 01:40 Should be in EST only.
On executing date command once again it shows
date
Sun Mar... (4 Replies)
is there any ways to get the time difference between 2 dates in UNIX?
for example, For below date the outut should come 22 minutes
startdate enddate
========= =======
06/17/2008 13:25 06/17/2008 13:47
For, below date, the output should come 1462 minutes
... (5 Replies)
Hi
Actually what am trying to ask is , i have an shell script ,now i want to run this shell script for one hour continuously and after one hour it has to stop automatically.
can any one suggest me how to automate the shell script ?
we tried wth the getting the start time and add ing an hour... (8 Replies)