New given/when return, why is that?
Allows DRYer code. So something like this:
say do {
if ($grade eq 'A') { 'Well done!' }
elsif ($grade eq 'B') { 'Try harder!' }
elsif ($grade eq 'C') { 'You need help!!!' }
else { 'You are just making it up!' }
};
Could now be written this way: say do {
given ($grade) {
'Well done!' when 'A';
'Try harder!' when 'B';
'You need help!!!' when 'C';
default { 'You are just making it up!' }
}
};