sub lowercase { wantarray ? (map { lc } @_) : lc(shift); } #### sub lowercase { ( wantarray ? sub{@_} : sub{shift} )->( map { lc } @_ ); } #### #!/usr/bin/env perl use v5.14; use returning { lreturn => sub { wantarray ? @_ : $_[0] } }; sub lowercase { lreturn map { lc; } @_; warn "this line never executes"; } say for lowercase('Alice', 'Bob'); say scalar lowercase('Carol', 'Dave');