printf "%04s-%02s-%02s\n", map { @$a ? $_ + shift @$a : $_} (localtime,$a=[1900,1])[5,4,3]; #### (localtime,$a=[1900,1]) #### (localtime,$a=[1900,1])[5,4,3] #### map { @$a ? $_ + shift @$a : $_ } (localtime,$a=[1900,1])[5,4,3];