use Benchmark; @array = ('elementary school', 'blah blah blah', 'stuff', 'hello', 'yay'); timethese(100000, { 'one line' => '&one_line', 'multi line' => '&multi_line'}); sub one_line { do {s/\s+/\t/; s/elementary/my dear Watson/g;} for @array; } sub multi_line { for ( @array ) { s/\s+/\t/; s/elementary/my dear Watson/g; } }