in reply to Re: if contains
in thread if contains

Actually while $ does usually have a special meaning, Perl seems to try to do the Right Thing:
print 'aha' if('ab$de' =~ /$/);
works (it does find the '$' character - actually it DOES NOT, see below). However,
print 'aha' if('ab$de' =~ /b$/);
is looking for a 'b' at the end of the string, and
print 'aha' if('ab$de' =~ /$d/);
is looking for the contents of $d anywhere in the string, which it does find as $d is empty.

Personally I'd consider index for a simple string search like this one.


Update: D'oh! Yes pfaut, that makes a LOT more sense. That should teach me something...

print 'aha' if('' =~ /$/);
prints 'aha' because even an empty string has an end...

--
I'd like to be able to assign to an luser

Replies are listed 'Best First'.
Re: Re: Re: if contains
by pfaut (Priest) on Jul 05, 2003 at 15:47 UTC
    Actually while $ does usually have a special meaning, Perl seems to try to do the Right Thing:
    print 'aha' if('ab$de' =~ /$/);

    print 'aha' if 'abcde' =~ /$/ also prints 'aha'. I do believe it's matching end of line, not the dollar sign.

    90% of every Perl application is already written.
    dragonchild