Newbie Perl question - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Newbie Perl question

dbrandtdbrandt Posts: 43Member
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:

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
print $h . " was NOT found

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
part to output on one line? Thanks.


  • JonathanJonathan Posts: 2,914Member

    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.


    : if ( $mySentence =~ m/.*$h.*/ )
    It's not broken as such, but this also would work:
    if ( $mySentence =~ m/$h/ )

    (tr/yuiqwert/her anot/))for($::b);for($::c){$_.=$^X;
    /(p.{2}l)/;$_=$1}$::b=~/(..)$/;print("$::a$::b $::c hack$1.");
Sign In or Register to comment.