Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Substring comparison

by schtinkfist893 (Novice)
on May 01, 2012 at 15:12 UTC ( [id://968279]=note: print w/replies, xml ) Need Help??


in reply to Substring comparison

I am working with index() and how I am using it with Arrays is not working
foreach(@Array1) { $string1 = $_; foreach(@Array2) { my string2 = $_; my $result = index($string2, $string1); if($result <= 0) { print $string1, " is not found in ", $string2, +"\n"; } } }

My @Array1[0] and $string1 is 'FFF'
My @Array2[0] and $string2 is 'FFF NNN JKK III LLL QQQ'
However my return on the above is

FFF is not found in FFF NNN JKK III LLL QQQ

Cleary 'FFF' is part of string 'FFF NNN JKK III LLL QQQ' and should return a result >= 0

This code works however when I am not using Arrays
my $string = "FFF NNN JKK III LLL QQQ"; my $substr = "LLL"; my $result = index($string, $substr); if($result > 0) { print "Result: $result\n"; } else { print "not found";
Result: 16
Is there some way I am going about my Array handling incorrect

Replies are listed 'Best First'.
Re^2: Substring comparison
by trammell (Priest) on May 01, 2012 at 15:16 UTC
    Index returns 0 if the match is at the front of the string, i.e. string offset 0.

    perl -le 'print index("foobar","foo")'

Re^2: Substring comparison
by JavaFan (Canon) on May 01, 2012 at 16:11 UTC
    Cleary 'FFF' is part of string 'FFF NNN JKK III LLL QQQ' and should return a result >= 0
    Indeed, and it does. However, the negation of result >= 0 is not if($result <= 0), which is what you wrote in your program. There is a value (0) that's both >= 0 and <= 0.

    Use if ($result == -1) in your program.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (7)
As of 2024-04-24 10:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found