Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^2: Can figure out a way to get File::Grep's fgrep to chomp matches

by Lady_Aleena (Curate)
on May 14, 2017 at 00:01 UTC ( #1190243=note: print w/replies, xml ) Need Help??


in reply to Re: Can figure out a way to get File::Grep's fgrep to chomp matches
in thread Can figure out a way to get File::Grep's fgrep to chomp matches

Thanks for trying, but here are the results of both directions:

my @line = map { chomp }  fgrep { /^[2-6] .+$/ } *DATA;

$VAR1 = [ 0 ];

my @line = grep { /^[2-6] .+$/ } fmap {chomp} *DATA;

$VAR1 = [];

It is okay if it is not possible until later munging. It is just a tad annoying.

No matter how hysterical I get, my problems are not time sensitive. So, relax, have a cookie, and a very nice day!
Lady Aleena

Replies are listed 'Best First'.
Re^3: Can figure out a way to get File::Grep's fgrep to chomp matches
by Your Mother (Bishop) on May 14, 2017 at 00:14 UTC

    chomp doesn’t return quite like that. This should work–

    my @line = map { chomp; $_ } fgrep { /^[2-6] .+$/ } *DATA;

    But maybe this is better–

    chomp( my @line = fgrep { /^[2-6] .+$/ } *DATA );

      Here is what your suggestion returned...

      $VAR1 = [ { 'count' => 5, 'matches' => { '3' => '4 baz ', '5' => '6 quux ', '2' => '3 bar ', '4' => '5 qux ', '1' => '2 foo ' }, 'filename' => *::DATA } ];

      I am beginning to believe this module is not set up for chomping the matches until they are munged later. The reason I even started this was that the dumper data looks bad with the newlines in the data.

      No matter how hysterical I get, my problems are not time sensitive. So, relax, have a cookie, and a very nice day!
      Lady Aleena
Re^3: Can figure out a way to get File::Grep's fgrep to chomp matches
by LanX (Archbishop) on May 14, 2017 at 00:08 UTC
    I see, please try

      my @line = fmap { chomp; /^[2-6] .+$/ ? $_ : () } *DATA;  

    Sorry, I don't think this interface was well designed ...

    HTH :)

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Je suis Charlie!

      It worked, however, it would not help when feeling it a list of files where one wants the line numbers and file names.

      $VAR1 = [ '2 foo', '3 bar', '4 baz', '5 qux', '6 quux' ];

      If I feed it a list of files, I get a list of everything which matches but no line numbers and file names attached. You helped a lot today! Thank you!

      No matter how hysterical I get, my problems are not time sensitive. So, relax, have a cookie, and a very nice day!
      Lady Aleena
        As already mentioned, I don't like this implementation, far too many surprises.

        No wonder it's version 0.02

        You could fix it probably with a leading chomp inside the fgrep, but frankly it's easier to code it the old fashioned way than to struggle with this interface.

        I don't have this module installed, sorry.

        Cheers Rolf
        (addicted to the Perl Programming Language and ☆☆☆☆ :)
        Je suis Charlie!

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (8)
As of 2019-04-25 14:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I am most likely to install a new module from CPAN if:
















    Results (127 votes). Check out past polls.

    Notices?
    • (Sep 10, 2018 at 22:53 UTC) Welcome new users!