Adding use warnings; results in
Use of uninitialized value in split at foo.pl line 9.
Hmmm... adding (-l and) print $entries to both subs results in:
Use of uninitialized value in split at foo.pl line 9. 0 Use of uninitialized value in pattern match (m//) at foo.pl line 14. 0
Now,
#!/usr/bin/perl use strict; use warnings; use Benchmark qw(:all :hireswallclock); my $str="This is an example string with several words bla bla bla"; sub test1 () { local $_=$str; my $entries = @{[ split ]}; } sub test2 () { local $_=$str; my $entries = () = /\S+/g; } cmpthese -10, { deref => \&test1, goatse => \&test2, }; __END__
results in
Rate goatse deref goatse 16325/s -- -42% deref 28017/s 72% --
In reply to Re^5: Counting the number of items returned by split without using a named array
by blazar
in thread Counting the number of items returned by split without using a named array
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |