l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
November 4: Social gathering
Next Installfest:
TBD
Latest News:
Oct. 24: LUGOD election season has begun!
Page last updated:
2001 Dec 30 17:08

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] Perl: Regex if then else
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] Perl: Regex if then else



Thanks Micah,

This is perfect, because now I can call a subroutine to determine the
substitution value.

Thanks again
Jay

----- Original Message -----
From: "Micah Cowan" <micah@cowanbox.com>
To: <vox-tech@franz.mother.com>
Sent: Tuesday, August 14, 2001 2:56 PM
Subject: Re: [vox-tech] Perl: Regex if then else


> On Tue, Aug 14, 2001 at 01:16:34PM -0500, Jay Strauss wrote:
> > Unfortunately, I don't understand the error, or how to solve it
> >
> > [jdedev]/home/jstrauss/bin> cat ./tmp
> > #!/usr/bin/perl
> > @s = ('initial 256','initial 512','initial 1024','initial 2048');
> >
> > foreach (@s) {
> >         s/(?<=initial\s+)(\d+)/$1 == 256 ? "4092" : "1024" /e;
> >         print "$_\n";
> > }
> >
> > [jdedev]/home/jstrauss/bin> ./tmp
> > Variable length lookbehind not implemented before HERE mark in regex
> > m/(?<=initial\s+)(\d+) << HERE / at ./tmp line 14.
>
> Hrm.  Sorry, my mistake.  Try this.
>
> s/(initial\s+)(\d+)/ $1 . ($2 == 256 ? "4092" : "1024") /e;
>
> The error meant that lookbehinds (the (?<=foo) thing) have to have a
> constant length - no * or +.
>
> Micah


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
O'Reilly and Associates
For numerous book donations.