Why then did you not bother to write a few lines like:
use strict;
use warnings;
use Benchmark 'cmpthese';
my $string = map { ('a'..'z')[rand 26] } 1..30;
my @sub_fields;
cmpthese( -1, {
regex1 => sub { @sub_fields = $string =~ /\w{5}/g },
regex2 => sub { @sub_fields = $string =~ /.{5}/g },
unpack => sub { @sub_fields = unpack '(A4)*', $string },
substr => sub { @sub_fields = map { substr $string, 5*$_, 5
+ } 0..length( $string )/5-1 },
});
that already shows that the regex idea is vastly inferior:
Rate substr unpack regex1 regex2
substr 696486/s -- -57% -94% -94%
unpack 1603093/s 130% -- -85% -86%
regex1 10731041/s 1441% 569% -- -4%
regex2 11165392/s 1503% 596% 4% --
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|