perl -e 'printf("%04d%02d%02d\n", sub {($_[5]+1900, $_[4]+1, $_[3])}->(localtime));'
The following should help to decipher this code :-
example$ perl -e 'sub anon_ref { return ($_[5]+1900, $_[4]+1, $_[3]);}; printf("%04d%02d%02d\n", anon_ref(2, 16, 21, 23, 7, 105, 2, 234, 1))'
20050823
example$ perl -e 'use Data::Dumper ;sub {print Dumper \@_}->();'
$VAR1 = [];
example$ perl -e 'use Data::Dumper ;sub {print Dumper \@_}->("xxx", "yyy");'
$VAR1 = [
'xxx',
'yyy'
];
example$ perl -e 'use Data::Dumper ;sub {print Dumper \@_}->xxx();'
Can't call method "xxx" on unblessed reference at -e line 1.
example$ perl -e 'print join ", ", localtime, "\n"'
23, 15, 21, 23, 7, 105, 2, 234, 1,
example$ perl -e 'printf("%04d/%02d/%02d\n", sub{$_[5], $_[4], $_[3]}->(2, 16, 21, 23, 7, 105, 2, 234, 1))'
0105/07/23
example$ perl -e 'printf("%04d/%02d/%02d\n", sub{$_[5]+1900, $_[4]+1, $_[3]}->(2, 16, 21, 23, 7, 105, 2, 234, 1))'
2005/08/23
example$ perl -e 'printf("%04d/%02d/%02d\n", sub{$_[5]+1900, $_[4]+1, $_[3]}->(localtime))'
2005/08/23
example$ perl -e 'printf("%04d%02d%02d\n", sub{$_[5]+1900, $_[4]+1, $_[3]}->(localtime))'
20050823
|