in reply to Finding all substrings
But forget speed. The fun solution is:sub substrings { my $string = shift; my @result = (); foreach my $start (0..length($string)-1) { my $substr = substr($string, $start); while (length($substr)) { push @result, $substr; chop($substr); } } return @result; }
Now if I could only figure out how to do it all in one regex... anyone?sub substrings { local $_ = shift; my @result; do { push @result, /(?=(.+)$)/sg; chop } while (length); return @result; }
Update: That durn mjd got there before I even submitted this... though he used embedded code. Is there any way without it?
|
|---|