Richard Lee wrote:
> What is the best way to indicate past hour from current time without 
> using a module?
> 
> so if it's 12:00, then 11:00-12:00
> 
> if it's 17:30 then 16:30 to 17:30
> 
> if it's 00:30 then 23:30 to 00:30
> 
> I wrote a below program and works but there has to be a better and 
> easier(not sure if I want easier as I am trying to learn) but I want to 
> do it the right perl way(despite
> perl's motto)..
> 
> let me know please.
> 
> #!/usr/bin/perl -w
> use strict;
> use diagnostics;
> 
> my $time = localtime;
> my @time_1 =  split / /, $time;
> my $start_time;
> 
> for ($time_1[4]) {
>     if ($_ =~ /00:([0-5][0-9]:[^ ])/) {
>           $start_time = join(':', 23,$1);
>     } else {
>           /(.*):(.*):(.*)/;
>           $start_time = join(':', $1 - 1, $2,$3);
>     }
> }
> 
> print "$start_time to $time \n";
> 
> __END__
> Wed Apr  2 01:04:07 2008

Hi Richard.

How about the program below.

HTH,

Rob



use strict;
use warnings;

my $time = localtime;
my $start_time;

for ($time) {
  my $hms = (split)[3];
  ($start_time = $hms) =~ s/(\d+)/($1 - 1) % 24/e;
}

print "$start_time to $time \n";


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to