O % móduloPOSIX inclui a função strftime , que permite que os caracteres do especificador de conversão strftime(3) viam o modelo de tempo desejado:
% perl -MPOSIX=strftime -E 'say strftime "[%F %T]", localtime(time)'
[2011-02-17 10:55:37]
%
Portanto, no seu caso, faça perl -MPOSIX=strftime -e ... e, em seguida,
printf( ($line=~/^\[\s*(\d+)\.\d+\](.+)/) ? ( "[%s]%s\n", strftime("%F %T", localtime(time - $uptime + $1)), $2 ) : $line )
Você pode precisar do modelo %Y-%m-%d %H... mais detalhado se seu strftime(3) não tiver %F , consulte strftime(3) para obter detalhes.