in reply to Re: Help combining two regex's into one
in thread Help combining two regex's into one

Awesome, I got exactly what I asked for ... plus!

Unfortunately what I asked for wasn't exactly right!

I should have included that there could be other and or more options following '-lmylib' ...
The known is it'll always be the first two elements in this order: '-L<path> -lmylib'
Of course the path is a variable, Number of options following 'mylib' is variable.

Your solution is slick, I like the capture and reuse of 'mylib', make maintaining the code easier.

The \K is the clue ... However, it's going to take some time for the whole of it to sink into this pea brain of mine.

A great link to Regular Expressions 101 expression tester! Hadn't seen/tried that one.

I made a mess out of your work to get it to work, the result

s!^-L(.+)\s+\K-lmylib!$1/mylib.a!

I prefer your cleaner solution except additional options make it fail.

Thanks

Replies are listed 'Best First'.
Re^3: Help combining two regex's into one
by roboticus (Chancellor) on Jan 15, 2013 at 11:50 UTC

    I can't quite tell if you're processing command line arguments or not. So if not, ignore the rest of this post.

    Processing command-line arguments can get tricky, so I won't talk you out of doing it yourself. However, I *do* want to point out that it's complex enough that various people have created various packages to handle them. You may find it worth your while to use one of them, rather than wrestling with subtle errors as you add yet more options. I usually use Getopt::Long, but you should review several before choosing. Getopt::Long is pretty flexible, but requires a bit more effort than some others, so you might not like it as much as I do.

    ...roboticus

    When your only tool is a hammer, all problems look like your thumb.