I am writing a simple script that asks a user for a sentence, and 3 strings to find within the sentence. Here is the code:
[code]
print "input a sentence:";
$mySentence = ;
for $i( 0 .. 2 )
{
print "input search number";
print $i;
print ": ";
$mySearch[$i] = ;
}
for $h(
@mySearch )
{
if ( $mySentence =~ m/.*$h.*/ )
{
print $h . " was found
";
}
else
{
print $h . " was NOT found
";
}
}
[/code]
The problem is that the script always says that the string wasn't found. A little help?
Edit: Could you also tell me how to get the
[code]print $h . "was found
"[/code]
part to output on one line? Thanks.
Comments
Your two problems are related. :-) The thing is that when you use the diamond operator:
$mySearch[$i] = ;
Then it leaves a newline character on the end of what you read in. So to fix that do (after this statement):
chomp $mySearch[$i];
And that should solve both your problems.
Also:
: if ( $mySentence =~ m/.*$h.*/ )
It's not broken as such, but this also would work:
if ( $mySentence =~ m/$h/ )
Jonathan
###
for(74,117,115,116){$::a.=chr};(($_.='qwertyui')&&
(tr/yuiqwert/her anot/))for($::b);for($::c){$_.=$^X;
/(p.{2}l)/;$_=$1}$::b=~/(..)$/;print("$::a$::b $::c hack$1.");