in reply to searching problem

I was thinking of something along these lines:
#!/usr/bin/perl -l BEGIN { $| = 1; $^W = 1; } use strict; use warnings; use List::MoreUtils 'any'; my($string) = q(mamy dady bal foo bar); my(@allwords) = split(" ", $string, 0); my($revwords) = join(" ", reverse(@allwords)); my(@strings_list) = scalar reverse $revwords; my $match = any( sub { /^ymam*/}, @strings_list, ); print "match" if $match; print "no match" unless $match;

Replies are listed 'Best First'.
Re^2: searching problem
by Lotus1 (Vicar) on Jan 18, 2013 at 22:27 UTC
    my($string) = q(mamy dady bal foo bar);

    Your wordlist doesn't contain anything that will match what the OP requested.

    my(@strings_list) = scalar reverse $revwords;

    This will put all the words into the first element of @strings_list so there is no need to use any(). Would have been much simpler to just reverse the original string and then split it into an array.

    my $rev = reverse $string; my @strings = split ' ', $rev; print join ',',@strings;
    sub { /^ymam*/}, @strings_list,

    ^ymam* will match 0 or more 'm's after yma which is not going to work. The * is not needed here.