On Feb 9, Wagner-David said:

>       The system I am working on has setup for named processes as
>$xxxx. What I am doing is converting a number of scripts to Perl and
>trying to make it easier to do.
>
>       The format is as stated and I have done a chomp on the line.

That's why your regex failed -- you had \s+ after the description, and
there was no such spaces.

>       A line could look like:
>
>               $A212      This is a test description     255,251
>
>       I substituted what you gave me and I get the following:
>
>       $xxxx = $A212
>       $desc =  This is a test description 255,251
>       $extra = ''
>
>       So unsure what I am doing wrong? I did not want the $ as part of
>$1, placed a \$ in front of (\w+), but otherwise I get the above.

Oops, I left the \$ out of the regex.  I'm sorry.

>>  /^\s*\$(\w+)\s+(.+)\s+([,;\s]{0,}(\d{1,3}\s*,{1}\s*\d{0,3}))*/gi

  ($xxxx, $desc, $extra) = $string =~ m{
    ^
    \s* \$ (\w+) \s+ (.+?)
    (?:
      \s+
      ( ( [,;\s]* (\d{1,3} \s* , \s* \d{0,3}) )* )
    )?
    $
  }x;

Try that, then.

-- 
Jeff "japhy" Pinyan      [EMAIL PROTECTED]      http://www.pobox.com/~japhy/
RPI Acacia brother #734   http://www.perlmonks.org/   http://www.cpan.org/
** Look for "Regular Expressions in Perl" published by Manning, in 2002 **
<stu> what does y/// stand for?  <tenderpuss> why, yansliterate of course.
[  I'm looking for programming work.  If you like my work, let me know.  ]


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to