[tpm] String matching at start or middle or end of list

Indy Singh indy at indigostar.com
Mon Apr 29 08:18:24 PDT 2013


I want to extract the matched string into a variable.

e.g.
my ($match) = something


Indy Singh
IndigoSTAR Software -- www.indigostar.com

From: Matthew Phillips 
Sent: Monday, April 29, 2013 11:14 AM
To: Indy Singh 
Cc: Toronto PerlMongers 
Subject: Re: [tpm] String matching at start or middle or end of list

Hi,
Maybe 'if ('foo,bar,boo,baz' =~ /,?foo,?/) { ... } ' is what you're looking for.

Cheers,
Matt


On Mon, Apr 29, 2013 at 11:09 AM, Indy Singh <indy at indigostar.com> wrote:

  Hi All,

  What is a good way to match a string that may appear at the start or middle or end of a list.  I have stumbled along and made this work in the past, now I am looking for the clean and proper way to do it.


  Example:
  my $s = 'foo,bar,boo,baz';
  my ($match) = $s =~ /(foo)/;

  I am looking to match the following:
  The start of a string or a separator followed by
  A specified string followed by
  A separator or the end of the string

  What are the extra things I need to surround the match expression?

  One of the unpleasant side effects of putting a list with alternatives at the start .e.g. '(^|,)' , is that it creates an undesired capture string. Is it possible to avoid creating the capture string?

  Indy Singh
  IndigoSTAR Software -- www.indigostar.com

  _______________________________________________
  toronto-pm mailing list
  toronto-pm at pm.org
  http://mail.pm.org/mailman/listinfo/toronto-pm

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/toronto-pm/attachments/20130429/c0895765/attachment-0001.html>


More information about the toronto-pm mailing list