## $left = 0; $right = 10; my $mid = halve( $left + $right ); ## $mid = 5 ## And maybe? my @mids = halve( @left zip @right ); ## ? #### my $mid = ( $left + $right ) / 2; my @mids = zip{ ( $_[ 0 ] + $_[ 1 ] ) / 2 } @left, @right; #### add_1( ... ); add_2( ... ); add_3( ... ); add_4( ... ); ... ## And quarter( ... ); eigth( ... ); sixteenth( ... ); ... three_quarters( ... ); seven_sixteenths( ... ); ... x_div_3_123_456_789_000( ... ); x_div_3_123_456_789_001( ... ); x_div_3_123_456_789_001_point_1( ... ); ... #### $stopped = 1; my $stop = sub { $stopped = 1 if shift() }; ... $game->command( -label => '~Stop', -command => $stop, -accelerator => 's' ); #### Autocurry qw[ stop ]; ... $stopped = 1; sub stop { $stopped = 1 if shift() }; ... $game->command( -label => '~Stop', -command => stop_c(), -accelerator => 's' ); #### &textfrom := &substr.assuming(str=>$text, len=>Inf); #### $all = $textfrom(0); # same as: $all = substr($text,0,Inf); $some = $textfrom(50); # same as: $some = substr($text,50,Inf); $last = $textfrom(-1); # same as: $last = substr($text,-1,Inf); #### &textfrom := &substr.assuming(str=>$text, len=>Inf);