on Tue, 09 Jul 2002 22:12:52 GMT, [EMAIL PROTECTED] wrote:

> I'm trying to get my script to recognize the date and time.
> I thought I had it but I keep getting errors all over.
> 
> Please take a look and tell me whats wrong
> [...]
> sub get_date {
>     ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
>           localtime(time);
>      @months = ("01","02","03","04","05","06",
>                 "07","08","09","10","11","12");
>      @digits = split(//,$sec);
>      $size = @digits;
>      if ($size == 1) {
>          $sec = "0$sec";
>      }
>      @digits = split(//,$min);
>      $size = @digits;
>      if ($size == 1) {
>          $min = "0$min";
>      }
>      $year=$year+1900;
>      $date = "@months[$mon]/$mday/$year";
> }

Some general comments:

- always turn on warnings and strictures
- always use my-variables, especially in subroutines
- learn sprintf (see perldoc -f sprintf)
- return the result of a subroutine call instead of storing it in a 
  global variable

With this, you get:

    #! perl -w
    use strict;

    print get_date();

    sub get_date {
        my ($sec,$min,$hour,$mday,$mon,$year) = localtime;
        return sprintf("%02d/%02d/%04d", $mon+1, $mday, $year+1900);
    }


-- 
felix

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to