Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

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

by Anonymous Monk
on Feb 18, 2013 at 00:17 UTC ( #1019244=note: print w/ replies, xml ) Need Help??


in reply to Re^2: 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.

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


Comment on Re^3: match sequences of words based on number of characters
Download Code
Re^4: match sequences of words based on number of characters
by Anonymous Monk on Feb 18, 2013 at 00:28 UTC
    #!/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://1019244]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (3)
As of 2014-07-26 19:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (179 votes), past polls