#!/usr/bin/perl -w use strict; use Benchmark; my $string = " field1 , field2 , field3 , field4 , field5 , field6 , field7 , field8 , field9 , field10 , field11 , field12 "; sub regexp { $string =~ m#^(\s*)(\w*?)(\s*), (\s*)(\w*?)(\s*),(\s*)(\w*?)(\s*), (\s*)(\w*?)(\s*),(\s*)(\w*?)(\s*), (\s*)(\w*?)(\s*),(\s*)(\w*?)(\s*), (\s*)(\w*?)(\s*),(\s*)(\w*?)(\s*), (\s*)(\w*?)(\s*),(\s*)(\w*?)(\s*), (\s*)(\w*?)(\s*)$#o; my $s = $11; print $s; } sub splitter { my $s = (split(/\s*,\s*/, $string))[3]; print $s; } #### [22:31:17] Orders, Master? ./greenhorn-0716.pl Benchmark: timing 100000 iterations of regexpression, splitting... regexpression: 12 wallclock secs (12.78 usr + 0.00 sys = 12.78 CPU) @ 7824.73/s (n=100000) splitting: 8 wallclock secs ( 7.90 usr + 0.00 sys = 7.90 CPU) @ 12658.23/s (n=100000)