seki has asked for the wisdom of the Perl Monks concerning the following question:
Hi Monks!
I use often the localtime() / strftime() couple, but while looking at my collection of one-liners tools, I am puzzled by an epoch translator that displays local time without specifying a format.
If I eval the following code,
perl -le'print localtime 1503403724'the result is not surprisingly
4481422711722331
but the following command line filter
echo 1503403724 | perl -pe's/([\d.]+)/localtime $1/e;'
displays the formated
Tue Aug 22 14:08:44 2017
Is there some untold magic with the inline loop parameter, or with the executable regex?
For the record, the onle-liner is originaly used to translate some log files with a time-stamp on each line in the form of an epoch date instead of a readable date format. Example:
cat var/nagios.log | perl -pe's/([\d.]+)/localtime $1/e;' | less
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: one liner automagic strftime()
by hdb (Monsignor) on Aug 22, 2017 at 13:07 UTC | |
by seki (Monk) on Aug 23, 2017 at 13:03 UTC | |
by hdb (Monsignor) on Aug 24, 2017 at 07:45 UTC | |
|
Re: one liner automagic strftime()
by Laurent_R (Canon) on Aug 22, 2017 at 22:04 UTC |