http://qs321.pair.com?node_id=1197796

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