- 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
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.