#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11164441 use warnings; use Time::HiRes qw( time ); my $input = 'foobarmul(123,456)' x 3e6; my $start; $start = time; my $count1 = () = $input =~ /mul\(\d{1,3},\d{1,3}\)/g; printf " list context count1 %d time %.3f\n", $count1, time - $start; $start = time; my $count2 = 0; ++$count2 while $input =~ /mul\(\d{1,3},\d{1,3}\)/g; printf "scalar context count2 %d time %.3f\n", $count2, time - $start;