On Thu, Aug 02, 2001 at 12:51:55PM -0400, Ron Woodall wrote: > Hi All: > > A bit of a conundrum here. > > while (attlist[$x] =~ m|<!-- start description| || m|<!-- start > explanation|) {x++} > > It finds "description" but not "explanation." What am I doing wrong? It > works sometimes but not other times. The =~ isn't transitive across multiple m// operations. That is, you're doing a match against $attlist[$x] with the first m//, but doing a match against $_ (the default variable used for matching) on the second m//. The answer is to be more explicit in what you are trying to do: while ($attlist[$x] =~ m/../ || $attlist[$x] =~ m/.../) { } Also, using |...| as a match delimiter along side the boolean || operator makes your test a little difficult to read. Please consider using a different match delimiter (//, {}, (), etc.). Z. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]