use warnings; use strict; use Devel::Timer; search (); sub search { my $class = shift; my $t = Devel::Timer->new; $t->mark('a'); validate_search_index (); $t->mark('b'); my $target = 'some text to search some text to search some text to search some text to search '; $target =~ /y/ for (0..10000); $t->mark('c'); $target =~ /y/ for (0..10000); $t->mark('d'); $target =~ /y/ for (0..10000); $t->report; } sub validate_search_index { my $t = Devel::Timer->new; $t->mark(0); my $target = 'some text to search some text to search some text to search some text to search '; $target =~ /y/ for (0..10000); $t->mark(1); $target =~ /y/ for (0..10000); $t->mark(2); $target =~ /y/ for (0..10000); $t->mark(3); $target =~ /y/ for (0..10000); $t->mark(4); $target =~ /y/ for (0..10000); $t->report; }