Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^3: changing date format in and out

by McDarren (Abbot)
on Feb 14, 2009 at 02:12 UTC ( #743753=note: print w/ replies, xml ) Need Help??


in reply to Re^2: changing date format in and out
in thread changing date format in and out

The example that was given to you is the guts of what you are asking for.

Take the code that was given to you by mr_mischief, and save it in a file (lets call it foo.pl). Then just pass your input file through that, ie:

perl foo.pl < infile > outfile
Although, you will probably want to change the line:
print (gmtime $_);
to read:
print scalar gmtime($_);
Or alternatively, if you want your output in local time, then:
print scalar localtime($_);
Hope this helps,
Darren


Comment on Re^3: changing date format in and out
Select or Download Code
Re^4: changing date format in and out
by gio001 (Acolyte) on Feb 14, 2009 at 03:46 UTC
    Great, thanks a lot!
    I hope not to impose on you for a very last favor, how would it be possible to consolidate this logic into a single perl line command (a one liner)?
    I hope you can show me, thanks again!
      perl -ne 'print scalar localtime' < infile > outfile
      Notes:
      - the "-n" switch, causes perl to assume a "while <>" loop (see perldoc perlrun)
      - the $_ can be dropped, because it is implicit
      - there is no need to chomp, as you probably want the newline anyway

      Cheers,
      Darren :)

        The  $_ in  localtime $_ is not optional: without it, the function returns current local time; likewise gmtime().

        The  -l (that's a small ell) command line switch may be useful: it will automatically  chomp the input record separator (IRS) on input and append the ORS on output. (IRS and ORS are both a newline by default.) As mentioned, not so important on input, but on output this gives you your converted time strings each on a separate line rather than as one (very long) line.

        >cat utimes 1111111 22222222 333333333 >perl -wMstrict -lne "print scalar localtime $_" < utimes > ltimes >perl -wMstrict -lne "print scalar gmtime $_" < utimes > gmtimes >cat ltimes Tue Jan 13 15:38:31 1970 Mon Sep 14 23:50:22 1970 Thu Jul 24 19:35:33 1980 >cat gmtimes Tue Jan 13 20:38:31 1970 Tue Sep 15 04:50:22 1970 Fri Jul 25 00:35:33 1980
        Example without  -l command line switch:
        >perl -wMstrict -ne "print scalar localtime $_" < utimes > ltimes >cat ltimes Tue Jan 13 15:38:31 1970Mon Sep 14 23:50:22 1970Thu Jul 24 19:35:33 19 +80

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://743753]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (11)
As of 2014-09-22 10:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (189 votes), past polls