From jmreinke at sunflower.com Sat Mar 1 00:02:58 2003 From: jmreinke at sunflower.com (John Reinke) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] cleaning up unicode? Message-ID: <1046498583.2301.12.camel@jupiter> This will hopefully be an easy question for some of you. I left the camel and llama at work over the weekend, otherwise I would consult them first. I have a text file which contains a character I am guessing as being considered a unicode character. It is the letter 'u' with the accent mark over it that looks like an apostrophe, which appears in some text editors as . I'd like to convert any of those characters to be regular ASCII characters, most likely with a tr command, but I haven't been able to find a way to match that character. Any suggestions? Once I can match those characters, is there an easy way to convert all accented characters to their non-accented counterparts, such that the accent will disappear but the same letter will remain? Thanks for any help, John From garrett at scriptpro.com Mon Mar 3 09:15:14 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] cleaning up unicode? Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C25@EXCH_MISSION> John Reinke wrote: > > I have a text file which contains a character I am guessing as being > considered a unicode character. It is the letter 'u' with the accent > mark over it that looks like an apostrophe, which appears in some text > editors as . This need not be unicode, and likely isn't. Many ASCII extended character sets contain the accented vowels. It is most likely that you're using one of those. > I'd like to convert any of those characters to be regular ASCII > characters, most likely with a tr command, but I haven't been able to > find a way to match that character. Any suggestions? Are you saying that: s/????/u/g; s/?/U/g; Doesn't work? > Once I can match those characters, is there an easy way to convert all > accented characters to their non-accented counterparts, such that the > accent will disappear but the same letter will remain? I'm not sure I'd recommend this. The accents after all do represent different vowel sounds. And the simple conversion you're suggesting doesn't correctly convert them to their non-accented counterparts. For instance, Germans typing on keyboards without umlauts (the 2 dots above ?) would type sch?n as schoen... There's another word schon which has a different meaning. Then again my sum knowledge of locale and internationalization issues is pretty meager. I don't know if it'd even be possible to do what you suggest unless you could identify the language and locale for each section of text you wished to transform. Even then I'm not aware of any modules to perform such conversions. Though that isn't to say they don't exist. It'd be nice to know what you're actually trying to accomplish. If for instance you're wanting to munge this text file so it can be displayed in HTML... you might be interested in HTML::Entities: http://search.cpan.org/author/GAAS/HTML-Parser-3.27/lib/HTML/Entities.pm Which for example allows you to do this: $input = "vis-?-vis Beyonc?'s na?ve papier-m?ch? r?sum?"; print encode_entities($in), "\n" which would result in: vis-à-vis Beyoncé's naïve papier-mâché résumé -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett@scriptpro.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030303/5c08559d/attachment.htm From jmreinke at sunflower.com Mon Mar 3 21:58:24 2003 From: jmreinke at sunflower.com (John Reinke) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] cleaning up unicode? In-Reply-To: <71BEC0D4E1DED3118F7A009027B12028034C8C25@EXCH_MISSION> References: <71BEC0D4E1DED3118F7A009027B12028034C8C25@EXCH_MISSION> Message-ID: <1046750310.8275.38.camel@jupiter> On Mon, 2003-03-03 at 09:15, Garrett Goebel wrote: > > I have a text file which contains a character I am guessing as being > > considered a unicode character. It is the letter 'u' with the accent > > mark over it that looks like an apostrophe, which appears in some text > > editors as . > > This need not be unicode, and likely isn't. Many ASCII extended character > sets contain the accented vowels. It is most likely that you're using one of > those. You are correct. I had to revert to my C skills to learn that u with the accent mark has the value 250 - a single byte. > > I'd like to convert any of those characters to be regular ASCII > > characters, most likely with a tr command, but I haven't been able to > > find a way to match that character. Any suggestions? > > Are you saying that: > > s/????/u/g; > s/?/U/g; > > Doesn't work? I'm sure it does, but what I'm really looking for (but didn't state clearly) is a more generic solution. Besides, I'm not sure how to type all those characters without pasting them in from another document. > It'd be nice to know what you're actually trying to accomplish. If for What I'm trying to accomplish is remove the accent marks from characters, essentially reducing everything down to 7-bit ASCII. Since you're asking, the strings will become file names. I want to create a subroutine that will convert a string to something valid for my file system. While I could just eliminate the accented characters, it would make sense to retain the letter part, and eliminate the additional punctuation - no offense intended toward your "beautiful" (auf Deutsch) example, Garrett. I thought that this might have been common enough that someone had a quick formula that could handle this. Perhaps not. I'll have to look for an existing package or code something up from scratch... Thanks, John From garrett at scriptpro.com Tue Mar 4 06:31:53 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] cleaning up unicode? Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C2B@EXCH_MISSION> John Reinke wrote: > > On Mon, 2003-03-03 at 09:15, Garrett Goebel wrote: > > > I have a text file which contains a character I am > > > guessing as being considered a unicode character. > > > It is the letter 'u' with the accent mark over it > > > that looks like an apostrophe, which appears in > > > some text editors as . [...] > > > I'd like to convert any of those characters to be > > > regular ASCII characters, most likely with a tr > > > command, but I haven't been able to find a way to > > > match that character. Any suggestions? > > > It'd be nice to know what you're actually trying to > > accomplish. > > What I'm trying to accomplish is remove the accent marks > from characters, essentially reducing everything down to > 7-bit ASCII. Since you're asking, the strings will become > file names. I want to create a subroutine that will > convert a string to something valid for my file system. What file system(s) does the filename need to be valid for? -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett@scriptpro.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030304/d30b6a96/attachment.htm From scottk at uclick.com Tue Mar 4 06:38:33 2003 From: scottk at uclick.com (Scott Kahler) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] cleaning up unicode? References: <71BEC0D4E1DED3118F7A009027B12028034C8C25@EXCH_MISSION> <1046750310.8275.38.camel@jupiter> Message-ID: <3E649E49.5050800@uclick.com> I haven't seen any package that do what you are looking for John. I've ran into a big of a problem with this recently as I've been working with high value ASCII too. About the only thing I think you'd be able to do is a list of one to one conversions. The problem with this that i've run into is that unix, windows and mac all have a different character map regaurding character outside our standard alphanumerics. John Reinke wrote: >> >> > >What I'm trying to accomplish is remove the accent marks from >characters, essentially reducing everything down to 7-bit ASCII. Since >you're asking, the strings will become file names. I want to create a >subroutine that will convert a string to something valid for my file >system. While I could just eliminate the accented characters, it would >make sense to retain the letter part, and eliminate the additional >punctuation - no offense intended toward your "beautiful" (auf Deutsch) >example, Garrett. > >I thought that this might have been common enough that someone had a >quick formula that could handle this. Perhaps not. I'll have to look for >an existing package or code something up from scratch... > >Thanks, >John > > > > -- Scott Kahler =-=-=-=-=-=-=-=-=-=-=-=-= DB Hacker http://www.uclick.com 816-210-8884 scottk@uclick.com =-=-=-=-=-=-=-=-=-=-=-=-= Brain: Gone at last, obsequious buffoons. Pinky: Right-O Brain. Narf! Obsequious! Brain: Pinky, do you have any idea what obsequious means? Pinky: No, but it sounds squishy! Ooo I love squishy! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030304/11dee59f/attachment.htm From jmreinke at sunflower.com Tue Mar 4 10:20:15 2003 From: jmreinke at sunflower.com (John Reinke) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] cleaning up unicode? In-Reply-To: <71BEC0D4E1DED3118F7A009027B12028034C8C2B@EXCH_MISSION>; from garrett@scriptpro.com on Tue, 4 Mar 2003 06:31:53 -0600 Message-ID: <200303041620.h24GKEI01028@smtp.sunflower.com> Garrett Goebel wrote: > > What I'm trying to accomplish is remove the accent marks > > from characters, essentially reducing everything down to > > 7-bit ASCII. Since you're asking, the strings will become > > file names. I want to create a subroutine that will > > convert a string to something valid for my file system. > > What file system(s) does the filename need to be valid for? While I'm running on Linux, I'm a firm believer in storing data (file format and likewise the filenames) in a manner that I can process and share across platforms. Considering that I have Linux/MacOS(old & new)/Win at home and Solaris/Win at work, I figured that reducing everything to a-z,A-Z,0-9, and _ would be safe, as long as the file names aren't too long. I had hoped for a formula similar to 32 being the difference between ASCII 'A' and 'a' for the accented to non-accented characters, but there doesn't seem to be a similar pattern. It looks like a series of substitutions will have to suffice, assuming I can think of all the possible input. Or, I can just let it run as is and manually intervene when needed, but my three principle virtues don't want me to take that approach... Thanks, John From garrett at scriptpro.com Tue Mar 4 12:18:34 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] cleaning up unicode? [x-adr][x-bayes] Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C2C@EXCH_MISSION> John Reinke wrote: > Garrett Goebel wrote: > > > What I'm trying to accomplish is remove the accent marks > > > from characters, essentially reducing everything down to > > > 7-bit ASCII. Since you're asking, the strings will become > > > file names. I want to create a subroutine that will > > > convert a string to something valid for my file system. > > > > What file system(s) does the filename need to be valid for? > > While I'm running on Linux, I'm a firm believer in storing > data (file format and likewise the filenames) in a manner > that I can process and share across platforms. Considering > that I have Linux/MacOS(old & new)/Win at home and > Solaris/Win at work, I figured that reducing everything to > a-z,A-Z,0-9, and _ would be safe, as long as the file names > aren't too long. I believe '-' and '.' are safe too. For Mac HFS compatibility too long is >31 With NTFS when translating LFN to 8.3, all extended ASCII chars are translated to _. And there's always the issue of many-to-one transformations: f?n f?n So you might want to append a counter when you go to rename the file if it would stomp on a pre-existing file with the same target name. It'd probably be best to use an appended counter for case insensitive a-z clashes too... as HFS is case-preserving but not case-sensitive right? Or alternatively force everything to upper or lower case. > I had hoped for a formula similar to 32 being the difference > between ASCII 'A' and 'a' for the accented to non-accented > characters, but there doesn't seem to be a similar pattern. > It looks like a series of substitutions will have to suffice, > assuming I can think of all the possible input. Substitutions might not be cross-platform... A script is written in one extended ASCII charset and executed on a machine with another might make some unintended substitutions... It might be best to punt and convert all unacceptable chars to _. sub transform ($) { # return true if transform took place my $nok; if (length($_[0]) > 31) { $nok += $_[0] =~ s/(?<=^.{31}).*//; } if ($_[0] =~ m/[^a-zA-Z0-9_\-\.]/) { $nok += $_[0] =~ s/[^a-zA-Z0-9_\-\.]/_/g; } $nok; } $a = 'ab?d*fg i!k&m,,,q@stuvwxyzyxwvutsrqponmlkjihgfedcba'; print "$a\n"; print transform $a; print "\n$a\n"; Note: this doesn't worry about filename clashes. But that after all depends on where you intend to save the file... -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030304/c407ea70/attachment.htm From whatever at davidnicol.com Tue Mar 4 21:41:13 2003 From: whatever at davidnicol.com (david nicol) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] cleaning up unicode? In-Reply-To: <3E649E49.5050800@uclick.com> References: <71BEC0D4E1DED3118F7A009027B12028034C8C25@EXCH_MISSION> <1046750310.8275.38.camel@jupiter> <3E649E49.5050800@uclick.com> Message-ID: <1046835673.1514.70.camel@localhost.localdomain> if nobody else is going to use the filenames but you and yours you could make up a munging such as my $filename2 = $filename; $filename2 =~ s/([zZ\W])/sprintf('z%02x',ord $1)/ge; then later, demunge with something like @filenames = map { s/z(..)/chr(hex $1)/ge } readdir DIR; q works well too :) On Tue, 2003-03-04 at 06:38, Scott Kahler wrote: > I haven't seen any package that do what you are looking for John. > I've ran into a big of a problem with this recently as I've been > working with high value ASCII too. About the only thing I think you'd > be able to do is a list of one to one conversions. The problem with > this that i've run into is that unix, windows and mac all have a > different character map regaurding character outside our standard > alphanumerics. -- David Nicol, independent consultant and contractor perl -Mcoroutine0 -le'$c=new coroutine0 VARS=>[q/@a/],BODY=>q"@a=(74, 65,80,72);while($a=shift@a){YIELD chr$a;}";print while$_=&$c;' From whatever at davidnicol.com Sun Mar 9 23:42:25 2003 From: whatever at davidnicol.com (david nicol) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] [Fwd: User Groups can win a pass to an O'Reilly Conference] Message-ID: <1047274945.1484.70.camel@localhost.localdomain> -- David Nicol, independent consultant and contractor perl -Mcoroutine0 -le'$c=new coroutine0 VARS=>[q/@a/],BODY=>q"@a=(74, 65,80,72);while($a=shift@a){YIELD chr$a;}";print while$_=&$c;' -------------- next part -------------- An embedded message was scrubbed... From: Marsee Henon Subject: User Groups can win a pass to an O'Reilly Conference Date: Fri, 7 Mar 2003 14:18:20 -0800 (PST) Size: 6440 Url: http://mail.pm.org/pipermail/kc/attachments/20030309/0e4ec6e1/attachment.eml From garrett at scriptpro.com Mon Mar 10 11:14:01 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Reminder: Meeting Tomorrow Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C45@EXCH_MISSION> March 10th, 7PM Planet Sub at 50th and Main Presentation: o HTML::Mason (Andrew Moore) Book Reviews: o Programming Web Services with Perl (Garrett Goebel) o Official Guide to Programming with CGI.pm (Garrett Goebel) Puzzle: o Discuss: One Lump or Two o New puzzle yet to be determined... [- One Lump or Two -] The 100 Monkey's Redux puzzle garnered no submissions. While it sounded simple it wasn't. As an alternative, I offered to put anyone's name in the drawing for an O'Reilly book who can answer this puzzle: There are 3 jars. A black jar, a white jar, and a black-and-white jar. Each jar is filled with either black and/or white balls. The black jar cannot contain black balls. The white jar cannot contain white balls. The mixed jar cannot contain mixed balls. That is, the mixed jar must contain either all white or all black balls. To determine the contents of each jar how many balls must you extract and from which jars? Surprisingly, this puzzle has also received no submissions. I must know how to pick 'em. So nudge, nudge... if you were to submit an answer, the chances are pretty good that you'll win ;) -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030310/05172be5/attachment.htm From garrett at scriptpro.com Mon Mar 10 13:50:34 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Reminder: Meeting Tomorrow Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C47@EXCH_MISSION> Garrett Goebel wrote: > > March 10th, 7PM Planet Sub at 50th and Main Sorry all... That's tomorrow the 11th ;) -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030310/113aa884/attachment.htm From kcperlmonger at yahoo.com Tue Mar 11 10:14:21 2003 From: kcperlmonger at yahoo.com (Douglas S. Sparling) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] cleaning up unicode? In-Reply-To: <1046498583.2301.12.camel@jupiter> Message-ID: <20030311161421.10639.qmail@web14405.mail.yahoo.com> --- John Reinke wrote: > Once I can match those characters, is there an easy > way to convert all > accented characters to their non-accented > counterparts, such that the > accent will disappear but the same letter will > remain? I don't know if this is what you are looking for, but the new issue of "The Perl Journal" (March 2003) has an article titled "Writing Multilingual Sites With mod_perl and Template Toolkit." There's code for a small module included that will do a translation turning accented characters into their non-accented counterparts. An example given using this module (which also converts caps to lower case): use My::Language; # This is the translation module $stripped_lc = $charsets{'iso-8859-1'}{lc}->{'Bienvenüe'); $stripped_lc will be set to: beinvenue -- doug __________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - establish your business online http://webhosting.yahoo.com From whatever at davidnicol.com Wed Mar 12 00:26:29 2003 From: whatever at davidnicol.com (david nicol) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] cleaning up unicode? In-Reply-To: <20030311161421.10639.qmail@web14405.mail.yahoo.com> References: <20030311161421.10639.qmail@web14405.mail.yahoo.com> Message-ID: <1047450388.1505.12.camel@localhost.localdomain> Cool! A module that exports a hash of tied hashes! On Tue, 2003-03-11 at 10:14, Douglas S. Sparling wrote: > An example given using this module (which also > converts caps to lower case): > > use My::Language; # This is the translation module > $stripped_lc = > $charsets{'iso-8859-1'}{lc}->{'Bienven?e'); > > $stripped_lc will be set to: > > beinvenue > > -- > doug -- David Nicol, independent consultant and contractor perl -Mcoroutine0 -e'$c=new coroutine0 VARS=>[],BODY=>q"YIELD 74; YIELD 65;YIELD 80;YIELD 72; YIELD 10;";print chr$_ while$_=&$c;' From whatever at davidnicol.com Wed Mar 12 00:27:53 2003 From: whatever at davidnicol.com (david nicol) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Reminder: Meeting Tomorrow In-Reply-To: <71BEC0D4E1DED3118F7A009027B12028034C8C47@EXCH_MISSION> References: <71BEC0D4E1DED3118F7A009027B12028034C8C47@EXCH_MISSION> Message-ID: <1047450473.1499.14.camel@localhost.localdomain> On Mon, 2003-03-10 at 13:50, Garrett Goebel wrote: > Garrett Goebel wrote: > > > > March 10th, 7PM Planet Sub at 50th and Main > > Sorry all... That's tomorrow the 11th ;) Drat! I missed it. I found the box of t-shirts I brought back from YAPC St. Louis last summer. -- David Nicol, independent consultant and contractor perl -Mcoroutine0 -e'$c=new coroutine0 VARS=>[],BODY=>q"YIELD 74; YIELD 65;YIELD 80;YIELD 72; YIELD 10;";print chr$_ while$_=&$c;' From whatever at davidnicol.com Wed Mar 12 00:42:10 2003 From: whatever at davidnicol.com (david nicol) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] [Fwd: Newsletter from O'Reilly UG Program, March 11] Message-ID: <1047451330.1499.28.camel@localhost.localdomain> -- David Nicol, independent consultant and contractor perl -Mcoroutine0 -e'$c=new coroutine0 VARS=>[],BODY=>q"YIELD 74; YIELD 65;YIELD 80;YIELD 72; YIELD 10;";print chr$_ while$_=&$c;' -------------- next part -------------- An embedded message was scrubbed... From: Marsee Henon Subject: Newsletter from O'Reilly UG Program, March 11 Date: Tue, 11 Mar 2003 13:39:19 -0800 (PST) Size: 13329 Url: http://mail.pm.org/pipermail/kc/attachments/20030312/e0092dee/attachment.eml From whatever at davidnicol.com Wed Mar 12 04:07:01 2003 From: whatever at davidnicol.com (david nicol) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] response to apo6 transfinite semantics challenge Message-ID: <1047463621.1499.65.camel@localhost.localdomain> Larry Wall writes: > However, if you access the last element using the length of the array, > it may try to flatten, and fail: > > my @flat = (1..Inf, 1..10); > $last = @flat[@flat - 1]; # Kaboom! > > Still, we should be able to detect the attempt to flatten an infinite > list and give a better diagnostic than Perl 5's "Out of memory". > Either that, or someone should just up and figure out how to subscript > arrays using transfinite numbers. We've got Inf, right? So we know that scalar(()=(1..Inf) is Inf. Inf - 1 is still Inf. The only thing we need to define is what @arr[Inf] means. It seems clear from the previous several paragraphs that Larry wants someone to suggest, as part of the transfinite package, that @arr[Inf] can be defined as sugar for { my $_ = pop @arr; push @arr, $_; $_; } And this might even just be a special case that perl6 array-FETCH is supposed to know about. (or create a LAST tie operator.) The range specs that know their own length without flattening (see a few paragraphs prev. in apo6) and counting would know if they are Inf. -- David Nicol, independent consultant and contractor perl -Mcoroutine0 -e'$c=new coroutine0 VARS=>[],BODY=>q"YIELD 74; YIELD 65;YIELD 80;YIELD 72; YIELD 10;";print chr$_ while$_=&$c;' From whatever at davidnicol.com Thu Mar 13 22:37:36 2003 From: whatever at davidnicol.com (david nicol) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] another response to apo6 transfinite semantics challenge In-Reply-To: <1047463621.1499.65.camel@localhost.localdomain> References: <1047463621.1499.65.camel@localhost.localdomain> Message-ID: <1047616656.1149.9.camel@localhost.localdomain> > > However, if you access the last element using the length of the array, > > it may try to flatten, and fail: > > > > my @flat = (1..Inf, 1..10); > > $last = @flat[@flat - 1]; # Kaboom! How about negative indices? We have negative indices in the slice() semantics; what if $last = @array[-1] always worked? -- David Nicol, independent consultant and contractor perl -Mcoroutine0 -e'$c=new coroutine0 VARS=>[],BODY=>q"YIELD 74; YIELD 65;YIELD 80;YIELD 72; YIELD 10;";for(;;){print chr(&$c||die)};' From whatever at davidnicol.com Tue Mar 18 21:41:47 2003 From: whatever at davidnicol.com (david nicol) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] [Fwd: Newsletter from O'Reilly UG Program, March 18] Message-ID: <1048045306.1039.46.camel@localhost.localdomain> -- David Nicol, independent consultant and contractor perl -Mcoroutine0 -e'$c=new coroutine0 VARS=>[],BODY=>q"YIELD 74; YIELD 65;YIELD 80;YIELD 72; YIELD 10;";for(;;){print chr(&$c||die)};' -------------- next part -------------- An embedded message was scrubbed... From: Marsee Henon Subject: Newsletter from O'Reilly UG Program, March 18 Date: Tue, 18 Mar 2003 19:37:49 -0800 (PST) Size: 17839 Url: http://mail.pm.org/pipermail/kc/attachments/20030318/ab0988c7/attachment.eml From garrett at scriptpro.com Thu Mar 20 16:03:42 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Next months presentation... which topic? Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C6E@EXCH_MISSION> Which would people rather hear about next month: o Apache mod_perl o Regular Expressions o your suggestion here Andy Moore gave an excellent presentation on HTML::Mason last month. Its too bad the turnout was so disappointing. And no that is not a slur against Doug Sparling (the other person in attendance). I gave reviews of the Official Guide to Programming with CGI.pm and Programming Web Services with Perl. And we talked until the Planet Sub guys got our attention long enough to mention everyone else had left the building 15 minutes earlier when they'd closed... A follow up from the meeting. -I figured out why my CGI perl scripts would given an error when I'd included a __END__ or __DATA__ token in my perl scripts. The error was: Missing right curly or square bracket at ... line ..., at end of line The reason is that I was using Apache mod_perl and the Apache::Registry for the perl handler. Apache::Registry reads your scripts into a string which it caches and evals as needed. __END__ and __DATA__ aren't eval friendly. -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett@scriptpro.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030320/6a7c4f82/attachment.htm From sparling at uclick.com Fri Mar 21 07:49:56 2003 From: sparling at uclick.com (Doug Sparling) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Next months presentation... which topic? In-Reply-To: <71BEC0D4E1DED3118F7A009027B12028034C8C6E@EXCH_MISSION> References: <71BEC0D4E1DED3118F7A009027B12028034C8C6E@EXCH_MISSION> Message-ID: <1048254596.3e7b188441bfa@www.electricwebmail.com> Quoting Garrett Goebel : > Which would people rather hear about next month: > > o Apache mod_perl > o Regular Expressions > o your suggestion here How about AxKit? -- doug sparling - uclick sparling@uclick.com/816.300.6595 From frank at wiles.org Fri Mar 21 08:34:01 2003 From: frank at wiles.org (Frank Wiles) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Next months presentation... which topic? In-Reply-To: <1048254596.3e7b188441bfa@www.electricwebmail.com> References: <71BEC0D4E1DED3118F7A009027B12028034C8C6E@EXCH_MISSION> <1048254596.3e7b188441bfa@www.electricwebmail.com> Message-ID: <20030321143401.GD26670@frank.wiles.org> .------[ Doug Sparling wrote (2003/03/21 at 05:49:56) ]------ | | Quoting Garrett Goebel : | | > Which would people rather hear about next month: | > | > o Apache mod_perl | > o Regular Expressions | > o your suggestion here | | How about AxKit? | `------------------------------------------------- Before I chime in with a suggestion, when is the next meeting? --------------------------------- Frank Wiles http://frank.wiles.org --------------------------------- From sparling at uclick.com Fri Mar 21 09:24:25 2003 From: sparling at uclick.com (Doug Sparling) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Next months presentation... which topic? In-Reply-To: <20030321143401.GD26670@frank.wiles.org> References: <71BEC0D4E1DED3118F7A009027B12028034C8C6E@EXCH_MISSION> <1048254596.3e7b188441bfa@www.electricwebmail.com> <20030321143401.GD26670@frank.wiles.org> Message-ID: <1048260265.3e7b2ea9899d9@www.electricwebmail.com> Quoting Frank Wiles : > Before I chime in with a suggestion, when is the > next meeting? If it's still the second Tuesday of the month, that would make it Tuesday, April 8. -- doug sparling - uclick sparling@uclick.com/816.300.6595 From sparling at uclick.com Fri Mar 21 09:28:47 2003 From: sparling at uclick.com (Doug Sparling) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Next months presentation... which topic? In-Reply-To: <71BEC0D4E1DED3118F7A009027B12028034C8C6E@EXCH_MISSION> References: <71BEC0D4E1DED3118F7A009027B12028034C8C6E@EXCH_MISSION> Message-ID: <1048260527.3e7b2faf3a6d8@www.electricwebmail.com> Quoting Garrett Goebel : > Which would people rather hear about next month: > > o Apache mod_perl > o Regular Expressions > o your suggestion here Another suggestion...Perl/XML. I've only used XML::Parser, XML::RSS and XML::DOM, but I know there's a lot more out there. I just picked up the New Riders _XML and Perl_ book and it looks promising (more so than the O'Reilly book). -- doug sparling - uclick sparling@uclick.com/816.300.6595 From dhageman at dracken.com Fri Mar 21 11:14:15 2003 From: dhageman at dracken.com (D. Hageman) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Next months presentation... which topic? In-Reply-To: <1048260527.3e7b2faf3a6d8@www.electricwebmail.com> References: <71BEC0D4E1DED3118F7A009027B12028034C8C6E@EXCH_MISSION> <1048260527.3e7b2faf3a6d8@www.electricwebmail.com> Message-ID: On Fri, 21 Mar 2003, Doug Sparling wrote: > Quoting Garrett Goebel : > > > Which would people rather hear about next month: > > > > o Apache mod_perl > > o Regular Expressions > > o your suggestion here > > Another suggestion...Perl/XML. > > I've only used XML::Parser, XML::RSS and XML::DOM, but I know there's a lot more out there. I just picked up the New Riders _XML and Perl_ book and it looks promising (more so than the O'Reilly book). I have played with quite a few of the XML modules on CPAN, but keep comming back to XML::LibXML. It seems to be the fastest and most full featured. In some ways, it is in a state of disrepair in its current form using the most recent C versions of the libxml2 library -- but that is being resolved quickly. The CVS tree for this module already has many fixes for these issues already in place and it should be back up to par shortly. I have two modules on CPAN currently that use this module: TEI::Lite and XML::XForms::Generator. XML is definately some neat technology if it isn't abused. -- //========================================================\\ || D. Hageman || \\========================================================// From whatever at davidnicol.com Fri Mar 21 18:07:16 2003 From: whatever at davidnicol.com (david nicol) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Next months presentation... which topic? In-Reply-To: References: <71BEC0D4E1DED3118F7A009027B12028034C8C6E@EXCH_MISSION> <1048260527.3e7b2faf3a6d8@www.electricwebmail.com> Message-ID: <1048291636.1426.6.camel@localhost.localdomain> I guess I could make a presentation on RAPNAPs. I'm working on a RAPNAP client module which I will upload to CPAN as well as using it inthe other portions of pay2send infrastructure. -- David Nicol, independent consultant and contractor perl -Mcoroutine0 -e'$c=new coroutine0 VARS=>[],BODY=>q"YIELD 74; YIELD 65;YIELD 80;YIELD 72; YIELD 10;";for(;;){print chr(&$c||die)};' From garrett at scriptpro.com Mon Mar 24 08:22:31 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Next months presentation... which topic? [x-bayes] Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C73@EXCH_MISSION> From: D. Hageman [mailto:dhageman@dracken.com] > On Fri, 21 Mar 2003, Doug Sparling wrote: > > Quoting Garrett Goebel : > > > > > Which would people rather hear about next month: > > > > > > o Apache mod_perl > > > o Regular Expressions > > > o your suggestion here > > > > Another suggestion...Perl/XML. > > > > I've only used XML::Parser, XML::RSS and XML::DOM, but I > > know there's a lot more out there. I just picked up the New > > Riders _XML and Perl_ book and it looks promising (more so > > than the O'Reilly book). > > I have played with quite a few of the XML modules on CPAN, > but keep comming back to XML::LibXML. It seems to be the > fastest and most full featured. In some ways, it is in a > state of disrepair in its current form using the most recent > C versions of the libxml2 library -- but that is being > resolved quickly. The CVS tree for this module already > has many fixes for these issues already in place and it > should be back up to par shortly. I have two modules on > CPAN currently that use this module: TEI::Lite and > XML::XForms::Generator. > > XML is definately some neat technology if it isn't abused. I wonder if you'd be willing to do a presentation on XML::LibXML some time? I'm currently trying to work my way toward grokking AxKit and the foundations it is built upon. So any discussion of LibXML and/or XForms would be very welcome. Your comments remind me of how the AxKit people recommend XML::LibXML 1.52 over 1.53. And as AxKit is based upon so very many other modules there are certain combinations of modules which are more favored than others... -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030324/9491d59d/attachment.htm From garrett at scriptpro.com Mon Mar 24 08:39:25 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Next months presentation... which topic? Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C74@EXCH_MISSION> david nicol wrote: > > I guess I could make a presentation on RAPNAPs. I'm working > on a RAPNAP client module which I will upload to CPAN as > well as using it inthe other portions of pay2send infrastructure. What is a RAPNAP client? A quick search on google doesn't turn up much. For list subscribers who aren't familiar with David's pay2send project... The short summary, is that it is an email service which solves the problem of receiving undesired email by creating a default toll/filter on unsolicited email. I.e., when the recipient puts a token price on the act of sending them an email, spam finally has an associated cost for the spammer. Plus, receiving email becomes a potential mechanism for putting pennies in your own jar :) I've finally replaced sendmail with qmail at home. I think a grounding talk on how internet email works with a side on spam filtering would be an interesting presentation in itself. And could be used as a foundation for a presentation on the architecture of pay2send and a discussion of the problems it solves. There is so much detail to be covered... that if you'd be willing... it'd probably be easier for us lay-people to follow in 2 installments instead of 1 whirlwind tour ;) However you decide to do it, I'd love to hear more about your progress with pay2send. Garrett -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030324/f0dc3f62/attachment.htm From garrett at scriptpro.com Mon Mar 24 09:14:24 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:06 2004 Subject: [Kc] Next months presentation... which topic? Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C76@EXCH_MISSION> Doug Sparling wrote: > Quoting Garrett Goebel : > > > Which would people rather hear about next month: > > > > o Apache mod_perl > > o Regular Expressions > > o your suggestion here > > How about AxKit? I'll start working on an AxKit presentation. Though I'm not sure I can be ready with it for the April meeting. The problem with AxKit is that while getting it up and running isn't a hurculean task. I find that truely understanding how it all fits together is. Or at least, I haven't yet dedicated the time to getting to that ah ha moment... I was kind of hoping to do mod_perl as a building block toward being prepared to do presentation on AxKit. > Another suggestion...Perl/XML. > > I've only used XML::Parser, XML::RSS and XML::DOM, but I know > there's a lot more out there. I just picked up the New Riders > _XML and Perl_ book and it looks promising (more so than the > O'Reilly book). What was lacking in the O'Reilly book? What is the best Perl XML book? Oh... and I need to plug an irritating reminder to post that Graphics Programming with Perl book review to the list ;) Which reminds me I've got a couple book reviews to post myself... -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030324/84a1bb89/attachment.htm From garrett at scriptpro.com Mon Mar 24 09:29:25 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Book Review: Extending and Embedding Perl Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C77@EXCH_MISSION> Extending and Embedding Perl Tim Jenness and Simon Cozens Extending and Embedding Perl is as it boldly states on the cover: "The definitive guide to XS, embedding, and the Perl internals". This book is well organized and information dense. One could spend days sifting through the available perlapi, perlcall, perlembed, perlguts perlxs, perlxstut, and h2xs documentation. After which you'll probably understand very well references to nethack's "You are in a maze of twisty little passages all alike". Or you could get yourself a copy of this book and find your way out of the maze. Most of the available documentation on extending and embedding perl is written from the prospective of the core perl developers for core perl developers. This book is written for advanced Perl programmers who for whatever reason need or wish to peer into that netherworld between Perl, C, and the glue that interfaces Perl with other languages. It is a deliberate thorough guide led by authors that are both extremely knowledgeable and also capable of communicating that knowledge. While it would greatly reduce the learning curve, no prior knowledge of C is required to read this book. This is a surprising claim and while it won't be easy, this reader is proof that someone with little true knowledge of C can in fact read and for the most part comprehend what the authors wish to convey. There are clearly areas for improvement. Things like NULL being used throughout chapter 3, only to finally be defined later in a footnote in chapter 4. And other cases of terms being used before they are explained. Things that leave the reader juggling unnecessarily until the information is provided that lets understanding fall into place. But for the most part, if you are a competent juggler and are patient your questions will eventually be answered. You won't walk away a C programmer, but you will learn enough to solve the problems which led you to consider reading this book in the first place. One thing I liked very much about the layout of the book is how it switches back between presenting sections on C programming and Perl. The authors revisit C each time it is necessary to understand the next Perl internals topic. Those that are learning C or need the review receive the relevant information just before it is required. Over the course of the book, you'll learn about interfacing from Perl to C and C back to Perl. For those that must plug references to Tolkien in things Perl... you can go back and rephase that into an appropriate reference to Bilbo's book "There and Back Again". You'll also learn the perl api, data structures for core variable types, and how to work with scalars, arrays, hashes, strings, regular expressions, file handles, typeglobs, objects, callbacks and PDL with C and C++. And there is even mention of working with Fortran, Java, and more esoteric alternatives. The book finishes with an in depth look at Perl internals: the parser, tokenizer, op code trees, execution, and compiler. And closes with a discussion of the Perl development process: How it may be monitored and participated in. What's missing? Detailed coverage of the I/O subsystem and the regular expression engine. I.e., topics which might themselves make for a good book. There was also light coverage on things like scratchpads. There were times while reading when I didn't know whether the issue being discussed was fully covered or curtailed. But you will certainly find better coverage of the issues in this book than elsewhere. This is an impressive book. I hope it will greatly influence the way Perl6 internals are documented. -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030324/617ee40b/attachment.htm From garrett at scriptpro.com Mon Mar 24 09:32:56 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Book Review: Programming Web Services with Perl Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C78@EXCH_MISSION> Programming Web Services with Perl Randy J. Ray & Pavel Kulchenko Programming Web Services with Perl is principally a book on implementing solutions using XML-RPC and SOAP in Perl. It also covers complementary and alternative standards such as WSDL, UDDI, and REST in some detail. And on the periphery, it finishes with a whirlwind tour of developing message routing, alternative data encoding within XML, security, transactions, workflow, internationalization, service discovery, extension, and management techniques and specifications. The book assumes the reader will have the knowledge of an intermediate level Perl programmer. I.e., the reader is assumed to have a working knowledge of references, data structures, and object-oriented Perl. On the other hand no previous knowledge of XML, XML-RPC, SOAP or XML related technologies is required. It should also be mentioned that both of the authors Randy J. Ray and Pavel Kulchenko are also the principle developers of the most popular XML-RPC and SOAP Perl modules: XML::RPC and SOAP::Lite respectively. That said, the book is not a soap box for the authors to tout the merits of their tools. Rather, it is a practical book which starts with grounding fundamentals. Readers should walk away with a core understanding of XML-RPC and SOAP and not just a particular tool set for working with them. The authors examine the alternative XML-RPC and SOAP tools, illustrate how they are used, and give practical and even handed reasons why their modules should be preferred. Which comes down to issues of features, active development, support, and the amount of work required to code to a particular interface. They then settle down to a comfortable and thorough guide to XML::RPC and SOAP::Lite. The topics and issues are illustrated throughout using real world web services. For example creating an XML-RPC client for O'Reilly's Meerkat news wire, or a SOAP client to covert use.perl.org's journal stream to RSS. Code is presented to the reader filtered down to highlight each particular issue as it is discussed. This is nice in that it avoids listing slight variations of the same code multiple times, but on the down side it can also leave the reader flipping back and forth to reassemble an example in their head. Full code for each example is provided in the appendices. And all of the example code may be downloaded from O'Reilly at http://examples.oreilly.com/pwebserperl/. All-in-all, the book is a thorough practical introduction to working with XML-RPC, SOAP and related technologies. When I started reading the book, I was a bit disappointed to see that it only covered XML-RPC and SOAP related services. When I finished, I was impressed with how very much information they'd managed to pack into so few pages. And yet, I was left wishing there'd been a more through coverage of interoperability issues between other SOAP implementations and things like custom de-serializers. To be honest interoperability and de-serialization are mentioned, and the authors do an excellent job of referring the reader on to sources for continued reading on most other topics. The book does an admirable job balancing content, length, and information density. Not to mention an excellent job delivering the information that will still be relevant years and not just weeks from the date published. Most of the topics I'd wished to see covered in more depth are those that are still developing and consequently most likely to become quickly dated. In short a well balanced practical guide to applying XML-RPC and SOAP to solve problems. -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030324/3e450d26/attachment.htm From dhageman at dracken.com Mon Mar 24 10:29:05 2003 From: dhageman at dracken.com (D. Hageman) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Next months presentation... which topic? [x-bayes] In-Reply-To: <71BEC0D4E1DED3118F7A009027B12028034C8C73@EXCH_MISSION> References: <71BEC0D4E1DED3118F7A009027B12028034C8C73@EXCH_MISSION> Message-ID: I think I might be able to be persuaded to give a presentation on XML::LibXML. If I do ... I will diverge also into XML::LibXSLT as well since both modules go hand-in-hand together. At this point - I am not confident I can do the April meeting though. I seem to have too many irons in the fire at the momment with work and extra curricular programming. On Mon, 24 Mar 2003, Garrett Goebel wrote: > From: D. Hageman [mailto:dhageman@dracken.com] > > On Fri, 21 Mar 2003, Doug Sparling wrote: > > > Quoting Garrett Goebel : > > > > > > > Which would people rather hear about next month: > > > > > > > > o Apache mod_perl > > > > o Regular Expressions > > > > o your suggestion here > > > > > > Another suggestion...Perl/XML. > > > > > > I've only used XML::Parser, XML::RSS and XML::DOM, but I > > > know there's a lot more out there. I just picked up the New > > > Riders _XML and Perl_ book and it looks promising (more so > > > than the O'Reilly book). > > > > I have played with quite a few of the XML modules on CPAN, > > but keep comming back to XML::LibXML. It seems to be the > > fastest and most full featured. In some ways, it is in a > > state of disrepair in its current form using the most recent > > C versions of the libxml2 library -- but that is being > > resolved quickly. The CVS tree for this module already > > has many fixes for these issues already in place and it > > should be back up to par shortly. I have two modules on > > CPAN currently that use this module: TEI::Lite and > > XML::XForms::Generator. > > > > XML is definately some neat technology if it isn't abused. > > I wonder if you'd be willing to do a presentation on XML::LibXML some time? > I'm currently trying to work my way toward grokking AxKit and the > foundations it is built upon. So any discussion of LibXML and/or XForms > would be very welcome. Your comments remind me of how the AxKit people > recommend XML::LibXML 1.52 over 1.53. And as AxKit is based upon so very > many other modules there are certain combinations of modules which are more > favored than others... > > -- > Garrett Goebel > IS Development Specialist > > ScriptPro Direct: 913.403.5261 > 5828 Reeds Road Main: 913.384.1008 > Mission, KS 66202 Fax: 913.384.2180 > www.scriptpro.com garrett at scriptpro dot com > -- //========================================================\\ || D. Hageman || \\========================================================// From dhageman at dracken.com Mon Mar 24 10:33:34 2003 From: dhageman at dracken.com (D. Hageman) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Book Review: Extending and Embedding Perl In-Reply-To: <71BEC0D4E1DED3118F7A009027B12028034C8C77@EXCH_MISSION> References: <71BEC0D4E1DED3118F7A009027B12028034C8C77@EXCH_MISSION> Message-ID: Excellent review! Last week I wrote my first perl interface to a C library. It was quite a bit of fun, but I discovered that documentation is severly lacking. I had the most trouble with the "typemap". It seems that all documents just seem to gloss over this very important part of the process. A collection of good examples that really helped me out can be found at: http://search.cpan.org/author/DMR/ Dean Roehrich has two little "CookBooks" on the subject matter. On Mon, 24 Mar 2003, Garrett Goebel wrote: > Extending and Embedding Perl > Tim Jenness and Simon Cozens > > Extending and Embedding Perl is as it boldly states on the cover: "The > definitive guide to XS, embedding, and the Perl internals". This book is > well organized and information dense. One could spend days sifting through > the available perlapi, perlcall, perlembed, perlguts perlxs, perlxstut, and > h2xs documentation. After which you'll probably understand very well > references to nethack's "You are in a maze of twisty little passages all > alike". Or you could get yourself a copy of this book and find your way out > of the maze. > > Most of the available documentation on extending and embedding perl is > written from the prospective of the core perl developers for core perl > developers. This book is written for advanced Perl programmers who for > whatever reason need or wish to peer into that netherworld between Perl, C, > and the glue that interfaces Perl with other languages. It is a deliberate > thorough guide led by authors that are both extremely knowledgeable and also > capable of communicating that knowledge. > > While it would greatly reduce the learning curve, no prior knowledge of C is > required to read this book. This is a surprising claim and while it won't be > easy, this reader is proof that someone with little true knowledge of C can > in fact read and for the most part comprehend what the authors wish to > convey. > > There are clearly areas for improvement. Things like NULL being used > throughout chapter 3, only to finally be defined later in a footnote in > chapter 4. And other cases of terms being used before they are explained. > Things that leave the reader juggling unnecessarily until the information is > provided that lets understanding fall into place. But for the most part, if > you are a competent juggler and are patient your questions will eventually > be answered. You won't walk away a C programmer, but you will learn enough > to solve the problems which led you to consider reading this book in the > first place. > > One thing I liked very much about the layout of the book is how it switches > back between presenting sections on C programming and Perl. The authors > revisit C each time it is necessary to understand the next Perl internals > topic. Those that are learning C or need the review receive the relevant > information just before it is required. > > Over the course of the book, you'll learn about interfacing from Perl to C > and C back to Perl. For those that must plug references to Tolkien in things > Perl... you can go back and rephase that into an appropriate reference to > Bilbo's book "There and Back Again". You'll also learn the perl api, data > structures for core variable types, and how to work with scalars, arrays, > hashes, strings, regular expressions, file handles, typeglobs, objects, > callbacks and PDL with C and C++. And there is even mention of working with > Fortran, Java, and more esoteric alternatives. > > The book finishes with an in depth look at Perl internals: the parser, > tokenizer, op code trees, execution, and compiler. And closes with a > discussion of the Perl development process: How it may be monitored and > participated in. > > What's missing? Detailed coverage of the I/O subsystem and the regular > expression engine. I.e., topics which might themselves make for a good book. > There was also light coverage on things like scratchpads. There were times > while reading when I didn't know whether the issue being discussed was fully > covered or curtailed. But you will certainly find better coverage of the > issues in this book than elsewhere. This is an impressive book. I hope it > will greatly influence the way Perl6 internals are documented. > > -- //========================================================\\ || D. Hageman || \\========================================================// From garrett at scriptpro.com Mon Mar 24 10:48:54 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Next months presentation... which topic Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C7A@EXCH_MISSION> D. Hageman wrote > > I think I might be able to be persuaded to give a presentation > on XML::LibXML. If I do ... I will diverge also into > XML::LibXSLT as well since both modules go hand-in-hand > together. At this point - I am not confident I can do the > April meeting though. I seem to have too many irons in the > fire at the momment with work and extra curricular > programming. That'd be great. Can I etch your name in jello for the May presentation? If you are able to make it to the April meeting, perhaps a 5 minute lightning-talk teaser would be possible? Any way/when you wish to do it consider the thumbscrews of persuasion to be applied ;) -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett@scriptpro.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030324/8ed82af0/attachment.htm From garrett at scriptpro.com Mon Mar 24 10:58:18 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Book Review: Extending and Embedding Perl Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8C7B@EXCH_MISSION> D. Hageman wrote: > > Excellent review! thanks. > Last week I wrote my first perl interface to a C library. > It was quite a bit of fun, but I discovered that > documentation is severly lacking. I had the most trouble > with the "typemap". It seems that all documents just > seem to gloss over this very important part of the process. > > A collection of good examples that really helped me out can > be found at: > > http://search.cpan.org/author/DMR/ > > Dean Roehrich has two little "CookBooks" on the subject matter. nice! very nice... I never figured out how to create a typemap for a struct so that I could use the struct as an argument in a call to a function in a C library. Note... a struct not a pointer to a struct. There are a couple functions in the Win32API which actually take things like a POINT or a RECT as an argument and not just a pointer to it. I've worked around this by passing each member of the struct as separate arguments. But it always bugged me that I couldn't find a way to actually pass the struct itself as an argument. -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030324/f7f7aafc/attachment.htm From whatever at davidnicol.com Mon Mar 24 16:51:27 2003 From: whatever at davidnicol.com (david nicol) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Next months presentation... which topic? In-Reply-To: <71BEC0D4E1DED3118F7A009027B12028034C8C74@EXCH_MISSION> References: <71BEC0D4E1DED3118F7A009027B12028034C8C74@EXCH_MISSION> Message-ID: <1048546286.1341.9.camel@localhost.localdomain> Ihave RAPNAP database in place and I'm working on things that use it; the first application is a delivery agent. beta2@tipjar.com is where I am testing the delivery agent; please write to that address to register your RAPNAP (Return Address, Network Peer Address Pair.) On Mon, 2003-03-24 at 08:39, Garrett Goebel wrote: > david nicol wrote: > > > > I guess I could make a presentation on RAPNAPs. I'm working > > on a RAPNAP client module which I will upload to CPAN as > > well as using it inthe other portions of pay2send infrastructure. > > What is a RAPNAP client? A quick search on google doesn't turn up > much. > > For list subscribers who aren't familiar with David's pay2send > project... The short summary, is that it is an email service which > solves the problem of receiving undesired email by creating a default > toll/filter on unsolicited email. I.e., when the recipient puts a > token price on the act of sending them an email, spam finally has an > associated cost for the spammer. Plus, receiving email becomes a > potential mechanism for putting pennies in your own jar :) > > I've finally replaced sendmail with qmail at home. I think a grounding > talk on how internet email works with a side on spam filtering would > be an interesting presentation in itself. And could be used as a > foundation for a presentation on the architecture of pay2send and a > discussion of the problems it solves. There is so much detail to be > covered... that if you'd be willing... it'd probably be easier for us > lay-people to follow in 2 installments instead of 1 whirlwind tour ;) > > However you decide to do it, I'd love to hear more about your progress > with pay2send. > > Garrett > > -- > Garrett Goebel > IS Development Specialist > > ScriptPro Direct: 913.403.5261 > 5828 Reeds Road Main: 913.384.1008 > Mission, KS 66202 Fax: 913.384.2180 > www.scriptpro.com garrett at scriptpro dot com -- David Nicol, independent consultant and contractor perl -Mcoroutine0 -e'$c=new coroutine0 VARS=>[],BODY=>q"YIELD 74; YIELD 65;YIELD 80;YIELD 72; YIELD 10;";for(;;){print chr(&$c||die)};'