in reply to Re: Multiple strings in a file
in thread Multiple strings in a file

Ok so lets say my text file has the following sentences
Transformers robots in disguise I whip my hair back and forth I will catch a dog with a trap
Now lets say, ignoring the case, the first word i want to look for is Trap, and the second word i want to look for is Hair. Basically it should print
I will catch a dog with a trap i whip my hair back and forth
Is that more clear? Sorry for not making it clear before.

Replies are listed 'Best First'.
Re^3: Multiple strings in a file
by LanX (Saint) on Feb 10, 2015 at 17:59 UTC
    > Is that more clear?

    no because your code should already do this, if you don't want double matches follow toolic's advice.

    Cheers Rolf

    PS: Je suis Charlie!

      I did, the problem that i am having testing locally is that it doesn't seem to recognize that there are more than 2 lines. So if the word i want is within the first 2 lines, it will print it, but if i want to print a word from the 3rd line, it won't

        Hi,

        Let see this code,

        use strict; use warnings; my $firstString='Trap'; my $secondString='hair'; open my $text, "<test.txt" or die "Dead"; while(<$text>){ print if (m/($firstString|$secondString)/i) }
        file:
        Transformers robots in disguise
        I whip my hair back and forth
        I will catch a dog with a trap

        It prints the output as,

        I whip my hair back and forth
        I will catch a dog with a trap
        

        But as you want to match the 'Trap' first which is in the third line, should be printed first and 'Hair' should be printed next. Is that you wanted?


        All is well