Perl 6 CGI.pm

Ovid on 2005-04-10T17:21:57

I've just committed the latest changes to Perl6 CGI.pm. There are a variety of changes, but the significant ones are translating spaces to '%20' in the query string instead of '+' (though it can still translate the '+' to spaces.) Also, it now recognizes the semicolon as a query string separator. In fact, I've made the semicolon the default query string separator instead of the ampersand, but this can be changed by the user.

I was disappointed to learn that I cannot split on a disjunction, but I guess that makes sense. my @pairs = split(('&'|';'), $data); might seem appropriate, but that implies my @pairs = split(('&'&';'), $data); would be appropriate, too, and I've no idea what that should do.

My biggest disappointment by far, though, was discovering that I cannot do this:

my @pairs = $data.split(rx:perl5{[&;]});

According to autrijus, this behavior is not defined. Apparently, the TODO list.

And I've not heard back from Richard Freytag about the AI::Prolog parser. Until that gets going, I really can't port AI::Prolog to Parrot. I feel more confident I can write my own parser now, but I'd much prefer to use his code. He's worked hard and done great work. I just hope he gets it finished in time for his class :(