$ perl -MO=Deparse,-p junk
use subs ('non_commutative');
sub non_commutative {
use warnings;
return(17);
}
use warnings;
($x = (10 * non_commutative()));
($y = non_commutative(*10));
print("$x\n$y\n\n");
($x = (10 + non_commutative()));
($y = non_commutative(10));
print("$x\n$y\n");
junk syntax OK
####
$ perl -MO=Deparse,-p junk
sub non_commutative () {
use warnings;
return(17);
}
use warnings;
($x = (10 * non_commutative));
($y = (non_commutative * 10));
print("$x\n$y\n\n");
($x = (10 + non_commutative));
($y = (non_commutative + 10));
print("$x\n$y\n");
junk syntax OK
####
$ perl -MO=Deparse,-p junk
use constant ('non_commutative', 17);
use warnings;
($x = 170);
($y = 170);
print("$x\n$y\n\n");
($x = 27);
($y = 27);
print("$x\n$y\n");
junk syntax OK