Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^2: match sequences of words based on number of characters

by AnomalousMonk (Monsignor)
on Feb 17, 2013 at 20:09 UTC ( #1019205=note: print w/ replies, xml ) Need Help??


in reply to Re: match sequences of words based on number of characters
in thread match sequences of words based on number of characters

I tried a few variations and I can't seem to make that work. Can you supply a self-contained, working example?


Comment on Re^2: match sequences of words based on number of characters
Re^3: match sequences of words based on number of characters
by nicemank (Novice) on Feb 17, 2013 at 21:31 UTC
    Hi, when I run your code it produces nothing. Did I miss something? Thanks for your advice, nicemank.

      Are you replying to me (AnomalousMonk) or to the Anonymous Monk?

Re^3: match sequences of words based on number of characters
by Anonymous Monk on Feb 18, 2013 at 00:17 UTC

    I tried a few variations and I can't seem to make that work.

    Show your efforts :)

    What do you think is wrong with it?

    Can you supply a self-contained, working example?

    Theoretically :) did you try Basic debugging checklist?

    I think this ought to show what is wrong with my syntax

    #!/usr/bin/perl -- use strict; use warnings; use Data::Dump; my $str = "xxxx yy zzzzz xxxx qqq"; my $lengthy = sub { warn 1 }; my @list = grep $lengthy, split /\W/, $str; dd \@list; __END__

    Its basically as if I wrote grep 1, ...

    and here I thought grep knew to take a subroutine reference, it works with grep \&somename, but it has to be grep $lengthy->(),...

    And on top of that no warnings of any kind, surprising

      #!/usr/bin/perl -- use strict; use warnings; use Data::Dump; my $str = "xxxx yy zzzzz xxxx qqq sixsix"; my $lengthy = do { my @lengths = ( 2, 6, 6 ); my $lix = 0; sub { warn "shabba @_ $_"; if( $lix < @lengths and $lengths[ $lix ] == length $_ ){ $lix++; return !!1; } return !!0; } }; #~ grep 1, #~ my @list = grep $lengthy, split /\W/, $str; #~ grep 1, #~ my @list = grep sub { $lengthy->() }, split /\W/, $str; #~ slower #~ my @list = grep { $lengthy->() } split /\W/, $str; my @list = grep $lengthy->() , split /\W/, $str; dd \@list; __END__ shabba xxxx at funk line 8. shabba yy at funk line 8. shabba zzzzz at funk line 8. shabba xxxx at funk line 8. shabba qqq at funk line 8. shabba sixsix at funk line 8. ["yy", "sixsix"]

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1019205]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (13)
As of 2014-07-30 11:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (230 votes), past polls