@a = ('a%sc','b');
printf @a; # prints abc
print "\n";
printf scalar @a; # prints 2
print "\n";
print sprintf @a; # prints 2
print "\n";
print sprintf @a[0,1]; # prints b
print "\n";
print @a[0,1]; # prints a%scb
print "\n";
print scalar @a[0,1]; # prints b
print "\n";
print $a[1]; # prints b
print "\n";
$huh = scalar @a[0,1]; # prints huhb
print "huh", $huh;
print "\n";
printf sprintf @a[0,1]; # prints b
so sprintf evals in scalar (?) context, printf
in array? Is there a why behind this?
a |