in reply to Original code [was "Re: String expansion script"]
in thread String expansion script

I've just noticed your new (fixed) script. I like the new input syntax better than the old one. I also like this syntax: /dev/hd[a:d][,1:8], and broken ranges: [1:5,7:10].

Pity it still can't handle brackets embedded in each other, such as /dev/[hd[a:d][1:8],fd[0:1]], but that'd be difficult to implement properly.

(Also, this code prints a warning on empty input lines.

Replies are listed 'Best First'.
Re^2: Original code [was "Re: String expansion script"]
by blazar (Canon) on Feb 23, 2005 at 09:36 UTC
    Of course it shouldn't be too hard with Text::Balanced. I would still be delighted to do it in one single regex. I'm not really sure if this is actually impossible, but for sure it's hard.

    I'm puzzled by the possibility of doing it with a single regex and the help of a few pre- and post- transformations. I have a well definite idea of how to do that, but it won't be so easy either... first or later I suspect that my hubris will take over and eventually I'll do it!

    Update: I'm not bothered by the fact that this has been downvoted, but I'd be very glad to know why it has... however to show with an example (of a somewhat related problem) what I meant with the above, I refer you to Re: Shuffling cards, but in that case the state of affairs is particularly simple because I can trust input strings which in turn are (guaranteed to be) particularly simple.