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
The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian
Back to
Seekers of Perl Wisdom