User since: Jan 22, 2001 at 09:18 UTC (22 years ago)
Last here: Aug 09, 2006 at 05:45 UTC (16 years ago)
Experience: 12781
Level:Monsignor (18)
Writeups: 978
Location:Chicago, IL USA
User's localtime: Aug 08, 2022 at 15:34 -05
Scratchpad: View
For this user:Search nodes

B.S., Chemical Engineering, U. Toledo, 1993 (Summa Cum Laude)
M.S., Chemical Engineering, U. Michigan, 2000
Ph.D., Chemical Engineering, U. Michigan, 2000
Currently a post-doctorate researcher at Argonne Nat'l Labs in Chicago, IL.
Creator of WS#9 among others...
For those that are curious, I'm mostly self-taught in computer programming; (un)fortunately, the current state of Chemical Engineering tends to value shrink-wrap over innovation...
My Home Page for more details
Sainthood obtained on May 20, 2001 20:20 pm CST.

PerlMonks Other Users Locator

Interested in knowing where the current Other Users are all located? You can now see a map (+/- 10 minutes), and more details on how that's generated are available here.

Perl Puzzles
Posted by the Perplexing Populous of PerlMonks for the Pondering and Pleasure of Prenctices and Professionals of Perl

I'm going to try to keep a current list of perl-based puzzles that have been posted to Perlmonks here; these include but are not limited to Golf or other types of puzzles. If you find me missing one, drop me a msg or a email and I'll add it.


Perl Golf are challenges to produce valid perl code that does a given task in as few characters in the code as possible.

Other Golf Links

Lanugage Puzzlers

Non-Perl Specific Puzzlers

Current 'Projects'
If you want to call these as such...

Preliminary 'language' for List::Regex

I'd appriciate any comments on this, either to my msg box here or email address and I'll try to post updates here.

I believe I've got the approach to doing this one; I'm going to take Parse::RecDescent, with a fixed grammar, then use that grammar to develop a grammar specifically for the regex itself to pump back into Parse::RecDescent again (meta!). I was going to try to develop my own finite state machine to do this, but I believe I can make use of existing code better than starting from scratch.

Here's the ideas I've had in mind:

All matches would be for the entire array, eg implicit ^ and $ on the regex.

Some examples:

@list = qw( The quick brown fox jumped over the lazy dog ); listparse( ".[9]", @list ); #true listparse( ".[8]", @list ); #false listparse( "The ?adjectives:(.*) fox jumped over the lazy ?what", @lis +t ); # $adjectives would be set as a ref to [ quick, brown ] # $what would be set to "fox" listparse( "The ?speed:{ $speed eq 'quick' } .*", @list ); # $speed would be set to 'quick' listparse( "The ?speed:{ $speed ne 'quick' } .*", @list ); # false listparse( "/word*", @list ); #true listparse( "/word /number .*, @list) ; #false
Hopefully that will give some examples of where I'm going with this...