From Marc.M.Adkins at Doorways.org Sun Jun 2 00:29:10 2002 From: Marc.M.Adkins at Doorways.org (Marc M. Adkins) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Perl 5.8.0 Release Candidate 1 available Message-ID: =head1 Perl 5.8.0 Release Candidate 1 The Perl 5 developer team is pleased to announce the Release Candidate 1 of Perl 5.8.0. Please test extensively. Your help in testing the upcoming perl 5.8.0 is much appreciated. This is a source code release, not a binary release. You will need a C development environment. Please note that Perl 5.8.0 is a major new release of Perl containing many new features, enhancements to existing features and bug fixes. This version is "Release Candidate 1"; the purpose of this version is to permit and encourage the Perl community to conduct extensive testing and to report problems so that we, and the owners of affected Perl packages, have an opportunity to correct them. Because the process of testing the vast quantity of Perl software will take time, and because issues uncovered by this testing may result in further changes or corrections to Perl 5.8.0 and the various Perl packages, WE DO NOT RECOMMEND USING RELEASE CANDIDATE 1 IN A PRODUCTION ENVIRONMENT. Please wait for the final version of Perl 5.8.0 for production use. As always, you should conduct an appropriate level of testing before using any new product in your production environment. As specified in the licenses for Perl (see the files named Artistic or Copying), THIS PACKAGE IS PROVIDED WITH ABSOLUTELY NO WARRANTY. New Release Candidates will come out about weekly until we are satisfied with the results, at which point the final 5.8.0 will be released. =head1 Where To Get It The 5.8.0 RC1 is now available at http://mirrors.kernel.org/cpan/src/perl-5.8.0-RC1.tgz http://cpan.valueclick.com/src/perl-5.8.0-RC1.tgz ftp://ftp.leo.org/pub/CPAN/src/perl-5.8.0-RC1.tgz ftp://ftp.funet.fi/pub/CPAN/src/perl-5.8.0-RC1.tgz and as the CPAN mirrors catch up, in the src/ subdirectory of your nearest friendly CPAN mirror. The size of the file is 10913451 bytes and the MD5 checksum for the file is f595a07df28eb9e40d4d27281a9b37a9 perl-5.8.0-RC1.tgz This release should work in all UNIX/Linux and Microsoft environments, and in other environments which have POSIX/UNIX interfaces, such as BeOS, Cygwin, MPE/iX, NetWare, OS/2, QNX, VMS, VOS, and z/OS, and the appropriate C compilation environment. A MacOS Classic port requires a little bit more work but it should become available soon-- follow http://dev.macperl.org/ =head1 Why To Get It For the list of changes in 5.8.0 see the pod/perldelta.pod, available separately online at http://mirrors.kernel.org/cpan/doc/perldelta.pod http://cpan.valuelick.com/doc/perldelta.pod ftp://ftp.leo.org/pub/CPAN/doc/perldelta.pod ftp://ftp.funet.fi/pub/CPAN/doc/perldelta.pod (and again, eventually at all CPAN mirrors-- note, though, that these URLs are not permanent, they will be removed when the final 5.8.0 is released) The .tgz file will unpack into a directory called "perl-5.8.0-RC1". =head1 How To Do It You will configure, build, and test Perl. Below is a short summary, for the full story read the "INSTALL" file. =head2 Configuring If you are in a UNIX-like system, you can setup Perl for compilation by changing into the "perl-5.8.0-RC1" directory and issuing the following command: sh Configure -des This will simply select all the defaults for your system, INCLUDING defaulting to install in the usual location for production software. (So don't run make install if you run Configure this way!) If you are not in a UNIX-like system (say, Win32), please read the "INSTALL" file and any possible platform specific README files for further instructions, and skip the parts below that don't apply to your platform. If you want to go through Configure interactively (for example to change the default installation directories), do just sh Configure =head2 Building To build Perl issue the command make all Note that the build times can vary considerably. Perl 5.8.0 is about twice the size of 5.6.1, and some source code files are quite large, so your compiler might have hard time processing them. On a fast modern system with lots of CPU and memory the build can be a matter of ten minutes, but on slower/older/more heavily loaded systems it can take up to eight hours, while half an hour to an hour being common. =head2 Testing After the build has finished, it's time to test the build. make test Again, testing times vary a lot. Perl 5.8.0 has more than five times the tests of Perl 5.6.1. Fifteen minutes to half an hour is quite normal, but a slow system may easily take an hour or more. If all tests are successful, "make test" will say "All tests successful" (unsurprisingly). If all tests are not successful, you may get a more detailed report by changing to the t/ subdirectory and running the "harness" script, something like this cd t ./perl harness You may need to set up your dynamic library path before that (the final message of "make test" should tell all the needed details). The more detailed report will be very useful when your report problems. Knowing your exact configuration is essential, too: usually running the "myconfig" script from the build directory produces this information. Note that some systems or configurations have known problems, see perldelta for details, no need to report them. In case you still see errors, please document them via the perlbug system, as detailed in the "INSTALL" file, section "Reporting Problems". Finally note that if you happen to have a "less common" platform, like some of the rarer UNIXes, or something even more exotic, we will be glad to hear even of successes, not just about possible problems. =head2 Installing Once you are happy with the test results of Perl itself (or you are just feeling extraordinarily brave), you may consider installing it. The Perl development team has tried to guarantee that popular Perl applications like CGI, LWP, mod_perl and DBI/DBD work with 5.8.0. Note "work", not necessarily "work without warnings": for example DBD::Oracle works, but during compilation and testing you may see various warnings. Also in some cases not all the functionality of the modules may be available (yet). However... THIS IS A REAL NEW PERL RELEASE THAT IS BINARY INCOMPATIBLE WITH ANY PREVIOUS PERL RELEASE. THIS MEANS THAT YOUR OLD EXTENSIONS (.xs code, those Perl modules requiring a C compiler) WILL NOT WORK AND WILL HAVE TO BE RECOMPILED. (Pure Perl modules should continue working.) INSTALLING THIS PERL RELEASE WILL OVERWRITE YOUR CURRENT PERL RELEASE. (For example, /usr/bin/perl will become Perl 5.8.0.) DO NOT INSTALL THIS INTO PRODUCTION USE UNLESS YOU REALLY MEAN IT. If you still feel like installing this, you can do so by "make install". If you want to install this, but want to install it into some less dangerous place (and not overwrite your current installation), do the following make clean sh Configure -des -Dprefix=/test/perl580 -Uinstallusrbinperl make all make test and then the "make install". The -Dprefix will place the Perl installation at the said directory (the Perl executable will be /test/perl580/bin/perl), and the -Uinstallusrbinperl will avoid overwriting /usr/bin/perl with a copy of the Perl 5.8.0 executable. =head1 Testing The Perl Installation You should test both your own code, and other code that you use. =head2 Testing Your Own Code Test your own code with perl 5.8.0, but in case of surprises read the perldelta.pod carefully before judging something as a bug. In some cases the behaviour of Perl has changed. =head2 Testing Perl Modules You should try reinstalling your favourite CPAN modules to guarantee that they will continue working under Perl 5.8. Note that if you find some module either failing its tests or you see the tests emitting warning messages, please first and foremost report these problems to the author of the module. Advise him/her about the impending 5.8.0 release and where to get the RC1 (you might for example point the author to this very message). Since there are hundreds of modules available, the Perl 5 developer team is not qualified to be experts on all of them; it is much faster if the module author resolves any problems. In some cases you may also consider contacting some mailing lists to ask for help (and to spread awareness of the upcoming 5.8.0), for example if your operating system or the modules have mailing lists of their own. =head2 That's it. =head1 AUTHOR Jarkko Hietaniemi on behalf of the Perl 5 developer team =cut ----- End forwarded message ----- -- $jhi++; # http://www.iki.fi/jhi/ # There is this special biologist word we use for 'stable'. # It is 'dead'. -- Jack Cohen - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From ben at reser.org Sun Jun 2 12:39:57 2002 From: ben at reser.org (Ben Reser) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Perl 5.8.0 Release Candidate 1 available In-Reply-To: References: Message-ID: <20020602173957.GD5911@titanium.brain.org> On Sat, Jun 01, 2002 at 10:29:10PM -0700, Marc M. Adkins wrote: > =head1 Perl 5.8.0 Release Candidate 1 > > The Perl 5 developer team is pleased to announce the Release Candidate 1 > of Perl 5.8.0. Do we really need to post in POD? Would it have been all that hard to run this through pod2text before posting to the list? While not as bad as HTML, POD isn't directly supported by any email client and since you set the content type to text/plain even if my email client was configured to run pod2text over a text/pod document I still would have just seen it as text. -- Ben Reser http://ben.reser.org We tend to see all wars through the lens of the current conflict, and we mine history for lessons convenient to the present purpose. - Brian Hayes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From glyph at mac.com Wed Jun 5 14:31:35 2002 From: glyph at mac.com (Geoffrey & Kristin Grosenbach) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Apocalypse 5 Message-ID: Since no one has mentioned it yet, Larry's Apocalypse 5 is out! Very interesting regarding Perl 6 regular expressions...I'd be interested to hear your reactions to it. I'm looking forward to Perl 6 quite a bit...my birthday is in a few days and I think I'll wish for a timely release of Perl 6 when I blow out my candles. In 24 pieces: http://www.perl.com/pub/a/2002/06/04/apo5.html All in one page: http://www.perl.com/lpt/a/2002/06/04/apo5.html Geoff http://www.GeoffreyGrosenbach.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From legrady at earthlink.net Wed Jun 5 16:12:14 2002 From: legrady at earthlink.net (Tom Legrady) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Apocalypse 5 In-Reply-To: Message-ID: >I'm looking forward to Perl 6 quite a bit...my birthday is in a few days >and I think I'll wish for a timely release of Perl 6 when I blow out my >candles. Now you've done it! Didn't you know it never comes true, if you tell people what you wished for? I'm in the middle of reading the RE Apocalypse. The changes look good, make Perl regexp much closer to lex/yacc than to traditional regexp. On the other hand, I'm currently learning Java ... Too bad Perl didn't come out with effective, readable REs before Java adopted Perl5 REs. Of course, Java would have botched it in either case. Tom Legrady - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pdarley at kinesis-cem.com Fri Jun 7 10:23:50 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Graphing with Perl Message-ID: Friends, I'm looking for a good graphing module in perl. We're doing business, rather than scientific graphs, so we're graphing arbitrary data rather than functions, and would like to have a lot of control over the look of the produced graphs. I've looked at GD:Graph, which doesn't seem to have the flexibility I want, and Imager::Graph, which looks great, but only has pie charts. Can anyone point me toward something? If I can't find anything I'm planning on extending the Imager::Graph module. Thanks, Peter D. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From chris at zorinco.com Fri Jun 7 13:21:06 2002 From: chris at zorinco.com (Christopher A. Nielsen) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Graphing with Perl In-Reply-To: Message-ID: I've used GD::Image with great success. It creates .png graphic files. Here's some examples of it's use. I've created a web-hit statistics grapher with it. $im = new GD::Image($maxpngwidth,$maxpngheight); # allocate some colors $white = $im->colorAllocate(255,255,255); $black = $im->colorAllocate(0,0,0); $red = $im->colorAllocate(255,0,0); # make the background transparent and interlaced $im->transparent($white); $im->interlaced('true'); # Put a black frame around the picture $im->rectangle(0,0,$maxpngwidth-1,$maxpngheight-1,$black); # write X legends $inc=1; $charofs=12; for ($i=1;$i<$graphunitsx; $i+=$inc) { $xpos=$graphoffsetx + ($i * $unitwidth); # print "*** xpos=$xpos\n"; $im->string(gdSmallFont,$xpos-$charofs,$maxpngheight-20,"$i",$black); if ($i>9) { $inc=2; $charofs=15; } } # heading $im->string(gdSmallFont,$graphoffsetx,5,$heading,$black); # then write out the .png file open(PNG,">$png") ; # make sure we are writing to a binary stream binmode PNG; # Convert the image to PNG and print it on standard output print PNG $im->png; close (PNG); Cheers, Chris On Fri, 7 Jun 2002, Peter Darley wrote: > Friends, > I'm looking for a good graphing module in perl. We're doing business, > rather than scientific graphs, so we're graphing arbitrary data rather than > functions, and would like to have a lot of control over the look of the > produced graphs. I've looked at GD:Graph, which doesn't seem to have the > flexibility I want, and Imager::Graph, which looks great, but only has pie > charts. > Can anyone point me toward something? If I can't find anything I'm > planning on extending the Imager::Graph module. > Thanks, > Peter D. > -- Christopher Nielsen chris@ZORINco.com http://ZORINco.com ______________________________________________________________ Makers of fine microcontroller products - C O N T R O L Y O U R W O R L D - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From oubiwann at myrealbox.com Fri Jun 7 22:07:51 2002 From: oubiwann at myrealbox.com (Duncan McGreggor) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Graphing with Perl References: Message-ID: <3D017507.6030806@myrealbox.com> I use GD::Graph3d, especially for business... Peter Darley wrote: >Friends, > I'm looking for a good graphing module in perl. We're doing business, >rather than scientific graphs, so we're graphing arbitrary data rather than >functions, and would like to have a lot of control over the look of the >produced graphs. I've looked at GD:Graph, which doesn't seem to have the >flexibility I want, and Imager::Graph, which looks great, but only has pie >charts. > Can anyone point me toward something? If I can't find anything I'm >planning on extending the Imager::Graph module. >Thanks, >Peter D. > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pdarley at kinesis-cem.com Tue Jun 11 11:54:09 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Thanks Message-ID: Friends, Thanks to everyone who gave me pointers to graphing modules! Peter Darley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From dancerboy at strangelight.com Tue Jun 11 16:43:42 2002 From: dancerboy at strangelight.com (dancerboy) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: remote synchronization Message-ID: Okay, this is probably more of a Unix question than a strictly Perl question, but (as I've mentioned before) posting to SPUG usually elicits more useful info (and less useless crap) than posting to the more strictly appropriate forums... Is anyone aware of any simple tools for doing file *synchronization* between directories on remote Unix boxes -- preferably using SSL connections? The tools I am aware of are things like CVS that do way more than just file synchronization, and require way more setup hassle than I'm willing to commit to this right now. I'm looking for a simple tool that would act sort of like scp, except would copy files in either direction depending on modification times. E.g., where I could type something like: sync /foo remote.host.address:/bar at a shell prompt, and the contents of /foo on the localhost would get synchronized with the contents of /bar on the remote host, with newer files overwriting older files (in either direction). Any suggestions? Or do I have to re-invent yet another wheel and write this thing myself (in Perl, of course)? -jason - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pdarley at kinesis-cem.com Tue Jun 11 17:00:09 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Scope question Message-ID: Friends, I have a scope question. I'm using mod_perl with apache, and it seems like in my main script (the one that the URL points to) when I do 'use vars qw($Thing1 %Thing2)' $Thing1 and %Thing2 are not available to functions in modules called from the main script. Is this just an illusion and I have some other problem, or is this the way things work? If so, is there some way I can share a variable with modules being used by a script? Thanks, Peter Darley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From jhmark at xenops.com Tue Jun 11 17:25:12 2002 From: jhmark at xenops.com (Jonathan Mark) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: remote synchronization In-Reply-To: Message-ID: > Is anyone aware of any simple tools for doing file *synchronization* > between directories on remote Unix boxes -- preferably using SSL > connections? Take a look at rsync... http://rsync.samba.org best, Jonathan Mark - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From ben at reser.org Tue Jun 11 17:40:16 2002 From: ben at reser.org (Ben Reser) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: remote synchronization In-Reply-To: References: Message-ID: <20020611224016.GX3348@titanium.brain.org> On Tue, Jun 11, 2002 at 02:43:42PM -0700, dancerboy wrote: > Is anyone aware of any simple tools for doing file *synchronization* > between directories on remote Unix boxes -- preferably using SSL > connections? The tools I am aware of are things like CVS that do way > more than just file synchronization, and require way more setup > hassle than I'm willing to commit to this right now. I'm looking for > a simple tool that would act sort of like scp, except would copy > files in either direction depending on modification times. E.g., > where I could type something like: > > sync /foo remote.host.address:/bar rsync is what you're looking for. You can tunnel it through ssh connections (which is what scp does). In fact you probably already have it installed and just didn't know it. http://rsync.samba.org -- Ben Reser http://ben.reser.org We tend to see all wars through the lens of the current conflict, and we mine history for lessons convenient to the present purpose. - Brian Hayes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pdarley at kinesis-cem.com Tue Jun 11 17:40:18 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: remote synchronization In-Reply-To: Message-ID: Jason, Take a look at rsynch: http://samba.anu.edu.au/rsync/ Thanks, Peter Darley -----Original Message----- From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org]On Behalf Of dancerboy Sent: Tuesday, June 11, 2002 2:44 PM To: Seattle Perl Users Group Subject: SPUG: remote synchronization Okay, this is probably more of a Unix question than a strictly Perl question, but (as I've mentioned before) posting to SPUG usually elicits more useful info (and less useless crap) than posting to the more strictly appropriate forums... Is anyone aware of any simple tools for doing file *synchronization* between directories on remote Unix boxes -- preferably using SSL connections? The tools I am aware of are things like CVS that do way more than just file synchronization, and require way more setup hassle than I'm willing to commit to this right now. I'm looking for a simple tool that would act sort of like scp, except would copy files in either direction depending on modification times. E.g., where I could type something like: sync /foo remote.host.address:/bar at a shell prompt, and the contents of /foo on the localhost would get synchronized with the contents of /bar on the remote host, with newer files overwriting older files (in either direction). Any suggestions? Or do I have to re-invent yet another wheel and write this thing myself (in Perl, of course)? -jason - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From dancerboy at strangelight.com Tue Jun 11 18:17:23 2002 From: dancerboy at strangelight.com (dancerboy) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: remote synchronization In-Reply-To: <20020611224016.GX3348@titanium.brain.org> References: <20020611224016.GX3348@titanium.brain.org> Message-ID: Thank you to everyone who responded! Yes, rsync was exactly what I was looking for, and yes, it was already installed on my system -- and it probably would have taken me hours to figure that out on my own. Thanks! -jason - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From cmeyer at helvella.org Tue Jun 11 18:33:17 2002 From: cmeyer at helvella.org (Colin Meyer) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Scope question In-Reply-To: ; from pdarley@kinesis-cem.com on Tue, Jun 11, 2002 at 03:00:09PM -0700 References: Message-ID: <20020611163317.B8429@hobart.helvella.org> Hi Peter, On Tue, Jun 11, 2002 at 03:00:09PM -0700, Peter Darley wrote: > Friends, > I have a scope question. I'm using mod_perl with apache, and it seems like > in my main script (the one that the URL points to) when I do 'use vars > qw($Thing1 %Thing2)' $Thing1 and %Thing2 are not available to functions in > modules called from the main script. Is this just an illusion and I have > some other problem, or is this the way things work? If so, is there some > way I can share a variable with modules being used by a script? I'm assuming that you're running a traditional cgi script with Apache::Registry, rather than a custom content handler. The mod_perl guide will just about always come to the rescue with useful information, and it doesn't fail now: http://perl.apache.org/guide/porting.html#Script_s_name_space Scripts under Apache::Registry do not run in package main, they run in a unique name space based on the requested URI. For example, if your URI is /perl/test.pl the package will be called Apache::ROOT::perl::test_2epl. hth, -C. > Thanks, > Peter Darley > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From Ryan.Parr at wwireless.com Tue Jun 11 18:39:22 2002 From: Ryan.Parr at wwireless.com (Parr, Ryan) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Scope question Message-ID: <6D6F0541E2B1D411A75B0002A513016D028005A0@wacorpml03.wwireless.com> Peter, If you fully qualify the var then it is available. But this isn't any different from my understanding of standard module scope. Be careful when using global vars from mod_perl though, since the variables will not be reset when the request is complete. Also, if you modify the values of your global vars at runtime then all of your httpd children will end up with different values, which can really bite you. With mod_perl I've found it's best to just always use 'my'. But if you really want to share globals check out http://theoryx5.uwinnipeg.ca/cgi-bin/guide-filter?page=perl/Using_Global_Var iables_and_Shari.html;query=global;match=and;where=all;stem=no. -- Ryan Parr Common sense is the collection of prejudices acquired by age eighteen. -- Albert Einstein -----Original Message----- From: Peter Darley [mailto:pdarley@kinesis-cem.com] Sent: Tuesday, June 11, 2002 3:00 PM To: SPUG Subject: SPUG: Scope question Friends, I have a scope question. I'm using mod_perl with apache, and it seems like in my main script (the one that the URL points to) when I do 'use vars qw($Thing1 %Thing2)' $Thing1 and %Thing2 are not available to functions in modules called from the main script. Is this just an illusion and I have some other problem, or is this the way things work? If so, is there some way I can share a variable with modules being used by a script? Thanks, Peter Darley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pdarley at kinesis-cem.com Tue Jun 11 18:45:02 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Scope question In-Reply-To: <20020611163317.B8429@hobart.helvella.org> Message-ID: Colin, I see what you're pointing to, but I don't understand what it's telling me. :) Does this mean that I can get to my variable using Apache::ROOT::MyDirectory::MyScript_2epl->Variable or somesuch? I'm pretty clueless about Perl namespaces... Thanks, Peter Darley -----Original Message----- From: Colin Meyer [mailto:cmeyer@helvella.org] Sent: Tuesday, June 11, 2002 4:33 PM To: Peter Darley Cc: SPUG Subject: Re: SPUG: Scope question Hi Peter, On Tue, Jun 11, 2002 at 03:00:09PM -0700, Peter Darley wrote: > Friends, > I have a scope question. I'm using mod_perl with apache, and it seems like > in my main script (the one that the URL points to) when I do 'use vars > qw($Thing1 %Thing2)' $Thing1 and %Thing2 are not available to functions in > modules called from the main script. Is this just an illusion and I have > some other problem, or is this the way things work? If so, is there some > way I can share a variable with modules being used by a script? I'm assuming that you're running a traditional cgi script with Apache::Registry, rather than a custom content handler. The mod_perl guide will just about always come to the rescue with useful information, and it doesn't fail now: http://perl.apache.org/guide/porting.html#Script_s_name_space Scripts under Apache::Registry do not run in package main, they run in a unique name space based on the requested URI. For example, if your URI is /perl/test.pl the package will be called Apache::ROOT::perl::test_2epl. hth, -C. > Thanks, > Peter Darley > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From cmeyer at helvella.org Tue Jun 11 19:06:33 2002 From: cmeyer at helvella.org (Colin Meyer) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Scope question In-Reply-To: ; from pdarley@kinesis-cem.com on Tue, Jun 11, 2002 at 04:45:02PM -0700 References: <20020611163317.B8429@hobart.helvella.org> Message-ID: <20020611170633.C8429@hobart.helvella.org> Hi Peter, On Tue, Jun 11, 2002 at 04:45:02PM -0700, Peter Darley wrote: > Colin, > I see what you're pointing to, but I don't understand what it's telling me. > :) > Does this mean that I can get to my variable using > Apache::ROOT::MyDirectory::MyScript_2epl->Variable or somesuch? > I'm pretty clueless about Perl namespaces... That's almost correct, although there's no dereferencing necessary. You could access the values like: print $Apache::ROOT::MyDirectory::Myscript_2epl::Variable; Namespaces are simply strings prepended to variable names that make them unique: # they're both called $Variable, relative to their own namespaces $MyApp::Variable = $YourApp::Variable; You can access globals from any namespace by prepending the variable name with the name of the namespace. You can access globals in the current namespace without prepending. One declares the current namespace with: package Some::Namespace; The ::'s aren't meaningful, except to the author of the code (i.e. there's not any explicit inheritence between namespaces). Rather than using some ugly auto-generated namespace, I'd be inclined to place application globals in a nicely named namespace: # in the main script $MyApp::Variable = 'some value'; # in some module package Some::Module; # the full name would be $Some::Module::Variable; $Variable = 'other value'; sub blorq { my $it = shift; # I want the application-global here: $it->{ something } .= $MyApp::Varible; } Have fun, -C. > Thanks, > Peter Darley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From dancerboy at strangelight.com Tue Jun 11 19:57:04 2002 From: dancerboy at strangelight.com (dancerboy) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Scope question In-Reply-To: <6D6F0541E2B1D411A75B0002A513016D028005A0@wacorpml03.wwireless.com> References: <6D6F0541E2B1D411A75B0002A513016D028005A0@wacorpml03.wwireless.com> Message-ID: Yes, you should consider this an opportunity to rethink your coding style and perhaps learn better coding techniques. As any experienced programmer should be able to tell you, global variable are a Bad Thing. Many languages (e.g. Java) don't even have globals. Your modules really ought to be entirely self-contained: any information that the modules need you should be passed in *explicitly*. With the exception of language extensions/pragmas, a module should *never* need to peek into a client's namespace in order to do its thing. -jason At 4:39 pm -0700 2002-06-11, Parr, Ryan wrote: >Peter, > >If you fully qualify the var then it is available. But this isn't any >different from my understanding of standard module scope. Be careful when >using global vars from mod_perl though, since the variables will not be >reset when the request is complete. Also, if you modify the values of your >global vars at runtime then all of your httpd children will end up with >different values, which can really bite you. With mod_perl I've found it's >best to just always use 'my'. > >But if you really want to share globals check out >http://theoryx5.uwinnipeg.ca/cgi-bin/guide-filter?page=perl/Using_Global_Var >iables_and_Shari.html;query=global;match=and;where=all;stem=no. > >-- Ryan Parr > >Common sense is the collection of prejudices acquired by age eighteen. > -- Albert Einstein > > >-----Original Message----- >From: Peter Darley [mailto:pdarley@kinesis-cem.com] >Sent: Tuesday, June 11, 2002 3:00 PM >To: SPUG >Subject: SPUG: Scope question > > >Friends, > I have a scope question. I'm using mod_perl with apache, and it >seems like in my main script (the one that the URL points to) when I do 'use >vars qw($Thing1 %Thing2)' $Thing1 and %Thing2 are not available to functions >in modules called from the main script. Is this just an illusion and I have >some other problem, or is this the way things work? If so, is there some >way I can share a variable with modules being used by a script? Thanks, >Peter Darley > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address >For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From mako at debian.org Wed Jun 12 01:37:44 2002 From: mako at debian.org (Mako Hill) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: remote synchronization In-Reply-To: References: Message-ID: <20020612063744.GD783@kamna> > Is anyone aware of any simple tools for doing file *synchronization* > between directories on remote Unix boxes -- preferably using SSL > connections? rsync great it but it's really only works one direction. If you want true bidirectional support you're going to need to need to look elsewhere. I've heard that caching network filesystems like "coda" are good. I've also heard intermezzo and Unison do the trick. I've never used any of these (I like CVS) but I've heard a couple discussions of this sort of thing on other lists and I thought it might be helfpul. Hope this has been helfpul. -- B. Mako Hill mako@debian.org http://people.debian.org/~mako/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 232 bytes Desc: not available Url : http://mail.pm.org/archives/spug-list/attachments/20020611/d7a57245/attachment.bin From cmeyer at helvella.org Wed Jun 12 01:54:59 2002 From: cmeyer at helvella.org (Colin Meyer) Date: Wed Aug 4 00:08:58 2004 Subject: SPUG: Scope question In-Reply-To: <20020611170633.C8429@hobart.helvella.org>; from cmeyer@helvella.org on Tue, Jun 11, 2002 at 05:06:33PM -0700 References: <20020611163317.B8429@hobart.helvella.org> <20020611170633.C8429@hobart.helvella.org> Message-ID: <20020611235459.A8958@hobart.helvella.org> I said: > > The ::'s aren't meaningful, except to the author of the code (i.e. there's > not any explicit inheritence between namespaces). ^^^^^^^^ I meant *implicit*. There's no implicit inheritence between similarly named namespaces. All inheritence and aliasing between namespaces is very explicit with mechanisms like the @ISA array and the Exporter module. A reference for further reading: perldoc perlsub - which 'perldoc -f package' or 'perldoc -f my' lead you to. Scoping in Perl is discussed throughout the document. I am in full agreement with Jason's comment about passing parameters around explicitly. In fact, I read a corny quote from _Code Complete_ at last month's SPUG meeting to that effect, about parameters being a kiss on the lips between routines (who's goal is strong cohesion via loose coupling - or something like that ;-). That is, it gives me a headache to search around for the meaning of a global variable, when I find it randomly accessed from deep within some routine of some module. However, there are perfecty valid uses for global variables. In a module that is used for manipulating data in a relational database, how tired do you get of passing around the database handle into each routine, or accessing it from buried within your object. Just put it in a global, document that to be your API, and use it when needed. Another fine use of a global is to hold application configuration data. Have fun, -C. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From cmeyer at helvella.org Wed Jun 12 02:00:39 2002 From: cmeyer at helvella.org (Colin Meyer) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Scope question In-Reply-To: <20020611235459.A8958@hobart.helvella.org>; from cmeyer@helvella.org on Tue, Jun 11, 2002 at 11:54:59PM -0700 References: <20020611163317.B8429@hobart.helvella.org> <20020611170633.C8429@hobart.helvella.org> <20020611235459.A8958@hobart.helvella.org> Message-ID: <20020612000039.B8958@hobart.helvella.org> I said to myself, just so that my name could appear three levels deep on the SPUG list: > I said: > > > > The ::'s aren't meaningful, except to the author of the code (i.e. there's > > not any explicit inheritence between namespaces). > ^^^^^^^^ > I meant *implicit*. There's no implicit inheritence between similarly ^^^^^^^^^^^ (really must upgrade ispell ;-) inheritance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From dancerboy at strangelight.com Wed Jun 12 04:30:32 2002 From: dancerboy at strangelight.com (dancerboy) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Scope question In-Reply-To: <20020611235459.A8958@hobart.helvella.org> References: <20020611163317.B8429@hobart.helvella.org> <20020611170633.C8429@hobart.helvella.org> <20020611235459.A8958@hobart.helvella.org> Message-ID: At 11:54 pm -0700 2002-06-11, Colin Meyer wrote: > >However, there are perfecty valid uses for global variables. In a module >that is used for manipulating data in a relational database, how tired >do you get of passing around the database handle into each routine, or >accessing it from buried within your object. Just put it in a global, >document that to be your API, and use it when needed. Another fine use >of a global is to hold application configuration data. That might be reasonable advice for non-OO languages. I still say that with OO languages, there is *no* good reason for using globals. Pass the database handle to an object constructor once, and then the client can forget about it after that -- or else get the handle from a class method. Ditto with configuration data. The problem with using globals is that they really only work for *static* data, data that isn't going to change during the execution of a script. But you can never be certain what data is going to remain static, and what data might, in some future version, need to be generated dynamically. Yes, it might seem silly to access a configuration value foo as Config->foo() when all foo does is return a hard-coded value. It might seem to make much more sense to access that hard-coded value as $Config::foo But you never know when the spec might change such that that hard-coded value will need to be replaced by one generated on-the-fly. And when it does, having all your code using accessor functions rather than globals will save you a *lot* of headaches. -jason - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From ben at reser.org Wed Jun 12 09:56:35 2002 From: ben at reser.org (Ben Reser) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: remote synchronization In-Reply-To: <20020612063744.GD783@kamna> References: <20020612063744.GD783@kamna> Message-ID: <20020612145635.GD30425@titanium.brain.org> On Tue, Jun 11, 2002 at 11:37:44PM -0700, Mako Hill wrote: > rsync great it but it's really only works one direction. If you want > true bidirectional support you're going to need to need to look > elsewhere. > > I've heard that caching network filesystems like "coda" are good. I've > also heard intermezzo and Unison do the trick. I've never used any of > these (I like CVS) but I've heard a couple discussions of this sort of > thing on other lists and I thought it might be helfpul. Hope this has > been helfpul. Actually properly configured you can make rsync work in both directions. It takes two passes but it is possible. -- Ben Reser http://ben.reser.org We tend to see all wars through the lens of the current conflict, and we mine history for lessons convenient to the present purpose. - Brian Hayes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pdarley at kinesis-cem.com Wed Jun 12 11:46:46 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:08:59 2004 Subject: FW: SPUG: Scope question Message-ID: Friends, As they say, there's more than one way to do it... Jason said: > Yes, you should consider this an opportunity to rethink your coding > style and perhaps learn better coding techniques. As any experienced > programmer should be able to tell you, global variable are a Bad > Thing. Many languages (e.g. Java) don't even have globals. I agree, there is always room to improve ones coding techniques. One reason that I want to use the globals is that I've gotten mixed results with passing around hash references and as hashes, and I'm not comfortable with my understanding of when elements of a hash are copied, when the elements of a copied hash are just references to the real contents of the hash, etc. I figured it would be simpler to rely on globals to ensure that every time my session info hash gets used I know that it's the correct one. Collin said: > However, there are perfecty valid uses for global variables. In a module > that is used for manipulating data in a relational database, how tired > do you get of passing around the database handle into each routine, or > accessing it from buried within your object. Just put it in a global, > document that to be your API, and use it when needed. Another fine use > of a global is to hold application configuration data. Coincidentally, I'm wanting to use the globals to hold my database handle, and to hold session info for my application (much like application configuration data). :) Then Jason said: > That might be reasonable advice for non-OO languages. I still say > that with OO languages, there is *no* good reason for using globals. > Pass the database handle to an object constructor once, and then the > client can forget about it after that -- or else get the handle from > a class method. Ditto with configuration data. I don't write OO Perl, as I don't see any particular value in it unless you're putting modules out into the wild. I find it far easier to conceive of functions as being things that transform data, so I can have any number of functions that get data into a certain state before passing it off to another function. The other option seems to be having either tons of objects that are very similar, but have different methods of initialization and/or processing, or having small numbers of huge unwieldy objects that break the idea of having an object fundamentally doing one thing (This is poorly phrased. I don't meant to say that an object should only have one function, but that you don't want to combine dispirit capabilities into one object). Thanks for listening to my uninformed ramblings :) Peter Darley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From asimjalis at yahoo.com Wed Jun 12 12:29:55 2002 From: asimjalis at yahoo.com (Asim Jalis) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: XP Meeting: Agile Software Development Expert Panel Message-ID: <20020612172955.48560.qmail@web14204.mail.yahoo.com> VIDEOSTREAM OF EXPERT PANEL ON AGILE SOFTWARE DEVELOPMENT At the next XP meeting (tomorrow, Thursday) George Smith from Asix will show us a videostream from JavaOne, "Expert Panel on Agile Development". After this we will have a Q&A session. Directions on how to get to the meeting are at the bottom of the message. Thanks to Asix for acquiring the videostream and sharing it with us. DETAILS ON PANEL DISCUSSION The speakers in this discussion will be: Scott Ambler, Martin Fowler, David Hecksel, Alan Shalloway, Brendan McCarthy. The Agile Modeling Panel consists of industry experts on "agile" and "lightweight" software-development methodologies. These experts have hands-on experience successfully transitioning teams to be more efficient, agile, productive, and responsive. The moderator starts the presentation by introducing the concept of a "project context" and the importance of selecting a methodology that best fits the project context. The moderator asks the panelists a series of questions, including: . How do I formulate and document requirements? . Do programmers need to do documention? . How does architecture fit in with lightweight methodologies? . Do tools help you slim down a process? . If so, which ones do you recommend, and how do they help? . Is eXtreme programming applicable to all projects? The session also covers two scenarios: (a) Your project uses a heavyweight process: How do you switch? What success patterns have you observed to successfully slim down? (b) Your management is leery of eXtreme programming or anything close to it. What do you do? HOW TO GET TO THE MEETING DATE AND SCHEDULE Thursday, June 13, 2002 (second Thursday of the month). 6.30 pm - 7.00 pm : Pizza + Networking. 7.00 pm - 9.00 pm : Fishbowl on System Metaphor LOCATION Suite 100, Lante's Main Conference Room 3180 139th Avenue SE Bellevue, WA 98005 425.564.8800 (main desk) GETTING IN If the main door is locked knock on the window on the right; someone will come out and get you. DIRECTIONS - From 148th NE (going south) turn RIGHT into Eastgate Way SE. - Then turn RIGHT again into 139th Ave SE. - Drive past SE 32nd St. - 3180 will be the first building on your RIGHT. - Enter the parking entrance on your RIGHT and drive to the uncovered parking on top. - Enter the building and follow the signs to the XP meeting. To get to 148th and Eastgate Way, use this Yahoo Map link: __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From asimjalis at yahoo.com Wed Jun 12 13:40:18 2002 From: asimjalis at yahoo.com (Asim Jalis) Date: Wed Aug 4 00:08:59 2004 Subject: FW: SPUG: Scope question In-Reply-To: Message-ID: <20020612184019.7298.qmail@web14202.mail.yahoo.com> Peter Darley wrote: > I don't write OO Perl, as I don't see any > particular value in it unless you're putting > modules out into the wild. I find it far easier > to conceive of functions as being things that > transform data, so I can have any number of > functions that get data into a certain state > before passing it off to another function. A couple of points. First, it is possible to do OO without using the OO constructs. The OO syntax in Perl is convoluted and can sometimes become awkward. A simpler way to do OO is to group functions together so that they are acting on the same piece of data, and then pass the data in as the first argument. The functions are unadorned humble non-OO functions. The main point here is that I don't want to know what the data looks like on the inside. I just want to know what I can do to it (using the functions). An example from C: the fprintf/fscanf family of functions are really quite OO. They let you interact with FILE data structure without knowing what FILE looks like on the inside. Second, the big advantage of OO for me is that it allows me to wrap my mind around a lot of code at once. In each object I just have to worry about that object. I don't have to worry about the whole system. This breaks the problem of programming into small bite-sized chunks that are easier to chew. The other big advantage of OO is that it makes it easier to write unit tests. > Thanks for listening to my uninformed ramblings > :) Thanks for starting a really interesting discussion. Asim __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From andrew at sweger.net Wed Jun 12 14:40:19 2002 From: andrew at sweger.net (Andrew Sweger) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: remote synchronization In-Reply-To: <20020612063744.GD783@kamna> Message-ID: On Tue, 11 Jun 2002, Mako Hill wrote: > rsync great it but it's really only works one direction. If you want > true bidirectional support you're going to need to need to look > elsewhere. This isn't necessarily true. The update option on rsync will only overwrite files with newer versions. The down side is that deletions either only propogate in one direction or not at all. rsync -aru --delete /master secondary.host.com:/store rsync -aru secondary.host.com:/store /master I've even used this to keep two cvsroot's sync'd. (Yes, there are risks. But you didn't get into computers because it's safe, right?) So, you're right, it's not really true bidirectional support. But the hack comes in handy at times. -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From andrew at sweger.net Wed Jun 12 14:44:41 2002 From: andrew at sweger.net (Andrew Sweger) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Scope question In-Reply-To: <20020611235459.A8958@hobart.helvella.org> Message-ID: On Tue, 11 Jun 2002, Colin Meyer wrote: > I am in full agreement with Jason's comment about passing parameters > around explicitly. In fact, I read a corny quote from _Code Complete_ at > last month's SPUG meeting to that effect, about parameters being a kiss > on the lips between routines (who's goal is strong cohesion via loose > coupling - or something like that ;-). That is, it gives me a headache > to search around for the meaning of a global variable, when I find it > randomly accessed from deep within some routine of some module. Amen, brother. > However, there are perfecty valid uses for global variables. In a module > that is used for manipulating data in a relational database, how tired > do you get of passing around the database handle into each routine, or > accessing it from buried within your object. Just put it in a global, > document that to be your API, and use it when needed. Another fine use > of a global is to hold application configuration data. Go ahead an thump me on the noggin fer sayin' it, but I prefer a lexical variable scoped to the module's file (or in a closure). Same thing, but different, no? -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From dancerboy at strangelight.com Wed Jun 12 15:44:32 2002 From: dancerboy at strangelight.com (dancerboy) Date: Wed Aug 4 00:08:59 2004 Subject: FW: SPUG: Scope question In-Reply-To: References: Message-ID: At 9:46 am -0700 2002-06-12, Peter Darley wrote: >Friends, > As they say, there's more than one way to do it... > >Jason said: >> Yes, you should consider this an opportunity to rethink your coding >> style and perhaps learn better coding techniques. As any experienced >> programmer should be able to tell you, global variable are a Bad >> Thing. Many languages (e.g. Java) don't even have globals. > > I agree, there is always room to improve ones coding techniques. One >reason that I want to use the globals is that I've gotten mixed results with >passing around hash references and as hashes, and I'm not comfortable with >my understanding of when elements of a hash are copied, when the elements of >a copied hash are just references to the real contents of the hash, etc. I >figured it would be simpler to rely on globals to ensure that every time my >session info hash gets used I know that it's the correct one. So consider this an opportunity to clarify your understanding of values vs. references in Perl :) (Pointless aside: if you think Perl references are confusing, you should try coding in PHP some time. That "language" has got to have the most hideous reference syntax/semantics ever devised...) If topics such as references and OO Perl still seem a little fuzzy, I would highly recommend "Advanced Perl Programming" from O'Reilly (the "Black Panther Book"): IMO it explains these topics (and many others) much better than perldoc. > >Then Jason said: >> That might be reasonable advice for non-OO languages. I still say >> that with OO languages, there is *no* good reason for using globals. >> Pass the database handle to an object constructor once, and then the >> client can forget about it after that -- or else get the handle from >> a class method. Ditto with configuration data. > > I don't write OO Perl, as I don't see any particular value in it unless >you're putting modules out into the wild. I find it far easier to conceive >of functions as being things that transform data, so I can have any number >of functions that get data into a certain state before passing it off to >another function. On the one hand, I can sympathize. I first learned to code long before there was any such thing as OOP, and it took me a lot of practice and effort to learn to think in OOP terms instead of in functional programming terms. But I can tell you from personal experience that it's worth the effort. My OO code is *much* easier to debug, maintain, and extend than code I've written functionally. I still find myself sometimes slipping back into my old functional-programming habits, and the results are almost always poor code. >The other option seems to be having either tons of >objects that are very similar, but have different methods of initialization >and/or processing, or having small numbers of huge unwieldy objects that >break the idea of having an object fundamentally doing one thing This is probably an indication that you're still thinking and coding in functional-programming terms. I see this a lot in CPAN modules: the authors of the modules use classes simply as namespaces for functions, rather than for true encapsulation; and the results are exactly what you describe: a small number of huge, unwieldy objects. (A perfect example is the ubiquitous but utterly grotesque CGI.pm, in which *everything* is made part of a "CGI" object. I've been coding CGI scripts in Perl since '96, and I still haven't got the foggiest idea what exactly a "CGI" object is supposed to encapsulate.) But here's a clue as to where your thinking is still functional rather than OO: an object does not fundamentally *do* one thing, an object fundamentally *is* one thing. A well-designed class should encapsulate some identifiable entity. An object may *do* lots of different things -- as many things as the entity that it encapsulates -- but it shouldn't *be* lots of different things. The difference is subtle but important. If you have tons of classes that are very similar, that's a good indication that they should probably be subclasses of a common base class: the behaviour they have in common can be coded into the base class, and incorporated via inheritance, while the behaviour that's unique to each class can be coded into the subclasses. OTOH, if you have a small number of huge, unwieldy objects, that's a good indication that you should be using composition. If your class has a huge number of simple data and/or function members, it probably makes sense to encapsulate those members into classes of their own. Instead of having a huge number of simple data and/or function members, your class can have a small number of members which are themselves objects, whose members may themselves be objects, and so on to whatever depth is necessary so that no one class becomes too big and unwieldy. E.g. instead of trying to encapsulate everything that a SQL-speaking database can do into a single gargantuan Database object, your Database object can be composed of Table objects, which are themselves composed of Row objects, which are themselves composed of Field objects. So instead of: $database->get_field_from_row_from_table( $field_name, $primary_key, $table_name ) you would have: $database->get_table( $table_name )->get_row( $primary_key )->get_field( $field_name ) Each of these classes -- Database, Table, Row, Field -- would be fairly simple, yet by chaining together accessor functions (as in the above example) a single Database object can indirectly encapsulate a *huge* amount of functionality. Does that make sense? -jason - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From showell at hargray.com Wed Jun 12 18:09:43 2002 From: showell at hargray.com (Steve Howell) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Scope question References: Message-ID: <002701c21266$400f3da0$6405a8c0@pavilion> ----- Original Message ----- From: Peter Darley > > I agree, there is always room to improve ones coding techniques. One > reason that I want to use the globals is that I've gotten mixed results with > passing around hash references and as hashes, and I'm not comfortable with > my understanding of when elements of a hash are copied, when the elements of > a copied hash are just references to the real contents of the hash, etc. I > figured it would be simpler to rely on globals to ensure that every time my > session info hash gets used I know that it's the correct one. > If you're going to program in Perl for any length of time, then you need to learn the difference between passing around hashes and passing around hash references. Fortunately, the rules are easy. For example, if you pass a hashref to a subroutine, then it has a ref to the "original" hash. If you pass in a full %hash to the subroutine, it's going to make a copy as soon as you do my (%args) = @_; The act of doing an array assignment makes the copy of the hash, so you're no longer modifying the original. Other rules apply, but even if you don't know the rules, or you forget the rules, or you doubt my interpretation of them, you can always create small test programs to verify your assumptions. You will rarely be surprised. Using globals does not protect you from ignorance about copy semantics. Consider this code: $ref = { apple => 'red' }; $copy = %$ref; $copy{apple} = 'mac'; print $copy{apple}; print $ref->{apple}; You still need to consider where things are copied, and where things are ref'ed. > I don't write OO Perl, as I don't see any particular value in it unless > you're putting modules out into the wild. I find it far easier to conceive > of functions as being things that transform data, so I can have any number > of functions that get data into a certain state before passing it off to > another function. Having well-conceived functions definitely makes sense. Going to OO won't magically make your code better organized, and if done poorly, it could even make it worse. Having said that, I think OO gets a bad knock sometimes. It's really not a radical departure from normal procedural code. Say you have a procedural program that modifies employee data: my $employee = { fname => 'Mary', lname => 'Lamb', salary => 150 }; giveEmployeeRaise($employee, 0.05); renameEmployee($employee, lname => 'Wolf'); registerEmployeesDependents($employee, [ $child1, $child2, $child3 ]); As your project grows, you might want to organize your code a little better, so that all of the employee methods are in an Employee package: my $employee = { fname => 'Mary', lname => 'Lamb', salary => 150 }; Employee::giveRaise($employee, 0.05); Employee::rename($employee, lname => 'Wolf'); Employee::registerDependents($employee, [ $child1, $child2, $child3 ]); After a while, it gets tedious to repeat "Employee" all over the place. Perl gives you a little syntatic sugar to avoid this: my $employee = { fname => 'Mary', lname => 'Lamb', salary => 150 }; bless $employee, 'Employee'; $employee->giveRaise(0.05); $employee->rename(lname => 'Wolf'); $employee->registerDependents([ $child1, $child2, $child3 ]); All blessing does is tell Perl that the "default" package to find methods for $employee is Employee. It's that simple. And it's not restrictive. You could still call other methods on $employee: MyDebugger::DumpHashStructure($employee); calculate_tax_for_employee($employee); The OO syntax in Perl is very Perlish. It's a bit ugly, and it's a bit untraditional, but you get a lot more flexibility than from more strictly OO languages. Also, you can go as deep with it as you want to. I've found the deeper I go, the more I like it, so I hope you do too. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From richard at richard-anderson.org Wed Jun 12 21:48:01 2002 From: richard at richard-anderson.org (Richard Anderson) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Scope question References: Message-ID: <005401c21285$ff67fab0$1488ddd1@aciwin> Peter Darley wrote: > > I don't write OO Perl, as I don't see any particular value in it unless > you're putting modules out into the wild. I find it far easier to conceive > of functions as being things that transform data, so I can have any number > of functions that get data into a certain state before passing it off to > another function. The other option seems to be having either tons of > objects that are very similar, but have different methods of initialization > and/or processing, or having small numbers of huge unwieldy objects that > break the idea of having an object fundamentally doing one thing OO has a LOT of value if you are writing large programs or working on a programming team. OO helps organize code, protect internal data from getting stomped on and make your code understandable to other programmers. Admittedly, for programs of less than, say, 300-500 lines the formalism of OO usually doesn't do much to improve the clarity or reusability of code. The counterargument is that programs tend to grow or have code copied to other programs. Your view of functions being things that transform data is inherent in OO programming: the ideal class had data, methods AND state. "Tons of objects that are very similar" is a classic opportunity for using inheritance, which lets you write lots of programs that do similar things without maintaining multiple versions of the same code. I recently used inheritance to write a single program that supports multiple vendors' proprietary databases and multiple versions of each vendor's software. Without inheritance the amount of code would have more than doubled. Any case statement structure with subroutine calls is probably an opportunity to simplify code using inheritance. On the other hand, many CPAN modules show the lamentable results of inappropriately shoehorning simple procedural code into the OO model. A good example is Text::Wrapper, which forces the user to initialize an object just to call the module's one and only method. As an added obfuscation, the constructor (new) uses a polymorphic call to the class's AUTOLOAD method just to initialize an attribute. The idea of OO is that it is supposed to make code SIMPLER. Whether I'm doing OO or procedural programming, I usually fall back on the old "each subroutine should do one thing well" adage for organizing code. Cheers, Richard richard@richard-anderson.org www.richard-anderson.org www.raycosoft.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From Marc.M.Adkins at Doorways.org Wed Jun 12 23:35:42 2002 From: Marc.M.Adkins at Doorways.org (Marc M. Adkins) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Scope question In-Reply-To: <005401c21285$ff67fab0$1488ddd1@aciwin> Message-ID: > On the other hand, many CPAN modules show the lamentable results of > inappropriately shoehorning simple procedural code into the OO model. Which reminds me of one of my long-standing gripes with some object-oriented languages, Java being my classic example, but C# as well and probably some others. The "Hello, World" program for C# (from the .NET documentation) is: // Hello1.cs public class Hello1 { public static void Main() { System.Console.WriteLine("Hello, World!"); } } It is necessary to create a class in order to write a simple program! As a secondary kvetch, it is necessary to use a class library to write to the console. Intuitive, neh? I leave the Perl version (which can be done at the command line using -e!) as an exercise for the reader. I find Perl congenial in that it _allows_ me to structure my code when I need to but does not _force_ me to do so when I don't. Or to put it another way: there are situations where I have the time, the motivation, and the inclination to be a "good" programmer and there are situations where all bets are off and I must hack like a demon and devil take all that software engineering foo. The hard part is usually knowing which situation I'm in at any given moment. So ends my diatribe on software libertarianism. Vive l'anarchy! Within reason, of course. Marc M. Adkins - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From dancerboy at strangelight.com Thu Jun 13 01:35:36 2002 From: dancerboy at strangelight.com (dancerboy) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) In-Reply-To: References: Message-ID: Java and C# are meant for large-scale applications, not one-liners. Saying that Perl is superior to Java because you can write useful one-liners in it is like saying that a PowerBook is superior to a Cray supercomputer, because the PowerBook will fit into your backpack. Perl and Java are very different tools designed for very different purposes. BTW, I recently put some of my thoughts on this and similar subject online at: http://www.strangelight.com/projects/coding_style.html (see especially this section: http://www.strangelight.com/projects/coding_style.html#coding ) I'd be curious to hear others' thoughts... -jason At 9:35 pm -0700 2002-06-12, Marc M. Adkins wrote: > > On the other hand, many CPAN modules show the lamentable results of >> inappropriately shoehorning simple procedural code into the OO model. > >Which reminds me of one of my long-standing gripes with some object-oriented >languages, Java being my classic example, but C# as well and probably some >others. The "Hello, World" program for C# (from the .NET documentation) is: > > // Hello1.cs > public class Hello1 > { > public static void Main() > { > System.Console.WriteLine("Hello, World!"); > } > } > >It is necessary to create a class in order to write a simple program! As a >secondary kvetch, it is necessary to use a class library to write to the >console. Intuitive, neh? I leave the Perl version (which can be done at >the command line using -e!) as an exercise for the reader. > >I find Perl congenial in that it _allows_ me to structure my code when I >need to but does not _force_ me to do so when I don't. Or to put it another >way: there are situations where I have the time, the motivation, and the >inclination to be a "good" programmer and there are situations where all >bets are off and I must hack like a demon and devil take all that software >engineering foo. The hard part is usually knowing which situation I'm in at >any given moment. > >So ends my diatribe on software libertarianism. Vive l'anarchy! Within >reason, of course. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From creede at penguinsinthenight.com Thu Jun 13 10:57:51 2002 From: creede at penguinsinthenight.com (Creede Lambard) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Scope question In-Reply-To: Message-ID: On Wed, 12 Jun 2002, Marc M. Adkins wrote: > I find Perl congenial in that it _allows_ me to structure my code when I > need to but does not _force_ me to do so when I don't. Or to put it another > way: there are situations where I have the time, the motivation, and the > inclination to be a "good" programmer and there are situations where all > bets are off and I must hack like a demon and devil take all that software > engineering foo. The hard part is usually knowing which situation I'm in at > any given moment. > My big gripe is with the people who dismiss Perl as a language because it doesn't force you to do strong typing, or because it lacks some feature their favorite language has, or whatever. Honestly. Perl is not C, it's not C++, it's not Java and it's not Cobol or Snobol or Skrewbol for that matter, it's Perl, and if you feel you can solve a problem better with a different language that handles the problem better, that's what you should use. I used to work with a German fellow over at Microsoft who said he didn't like Perl primarily because it's so unstructured. He prefered C because it imposed structure on the program. Funny, I would tell him, the lack of structure is what I like most about Perl. It lets me write programs my way rather than forcing me to do it the One True Way, whatever that language's idea of the One True Way might happen to be. -- * .~. `( ---------------------------------------------------------------- ` / V \ . Creede Lambard : I always proofread carefully to /( )\ creede@penguinsinthenight.com : make sure I didn't any words out ^^-^^ ---------------------------------------------------------------- Perl Programmer for hire. Reasonable rates. Inquire within. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Thu Jun 13 10:59:31 2002 From: tim at consultix-inc.com (SPUG-list-owner) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: 3 postions at Amazon.com Message-ID: <20020613085931.D23196@timji.consultix.wa.com> > > All three of these positions are positions requiring some measure of > seniority and leadership; perl is a big plus but not a requirement (All > positions do work primarily in perl.) These positions are full-time, > permanent only. > > The office is right by Safeco field -- great for ball games! > > All of these positions are in teams that are recognized as being > strategically important to the company: they may look like internal-only, > "fodder-for-layoffs" teams, but they aren't. All of them have high > visibility and are seen as critical to our success. > > They're all in my team or the general area of my team, although I'm not the > hiring manager for all of them. (We crib off each others' job descriptions, > which is why they have some of the same words -- even managers are lazy...) > > I've heard on this list that people are skeptical about jobs not being > "real" jobs but just a way to get resumes. Please believe me that these are > all real jobs that we need to fill with the right candidates. > > > Please contact me (binde@amazon.com) with resumes (indicating which job(s) > you're interested in) or questions. For resumes, I'll forward them on to > our recruiter to make sure they get into the system so they can also be > considered for other jobs. > > > ----------------------------------------------------------------------- > > Software Development Engineer -Automation and Tools, #02-007034 > > Amazon.com is looking for an exceptional software developer for our > Development Team that handles trouble ticketing, change management, asset > management and various support applications. The team utilizes SQL and other > programming languages to deliver a set of applications that core to tracking > the availability of the retail web site. The work consists of translating > business requirements into usable applications. All team members are > expected to solve problems end-to-end and own the solution; there's no > separation of design, implementation, documentation, or maintenance. The > team works with a mix of technical and non-technical customers. > > The ideal candidate has thorough knowledge of and 3+ years experience with > SQL and perl, as well as object-oriented design and at least one other > language (preferably C/C++.). Knowledge of Remedy is also a > plus. Undergraduate or graduate degree in computer science or equivalent > experience required; BSCS or MSCS highly desired. Knowledge of UNIX, > object-oriented design, SQL, algorithms, data structures, the ability to > work on a team or independently, define project technical requirements, work > with technical and non-technical users, set appropriate project schedules, > and produce robust, supportable software with comprehensive, usable > documentation is a must. Experience working with existing code, GUI > development, LDAP, creating client/server applications, designing large > scalable internal systems, interacting with management, technical, and > less-technical users is a plus. Previous experience in a multi-vendor UNIX > environment and exposure to any of networking, database administration, > systems administration, or security is desired. > > ----------------------------------------------------------------------- > > Software Development Engineer, Infrastructure Applications, #02-006752 > > Amazon.com is looking for an exceptional software developer for our > Infrastructure Applications group. Infrastructure Applications builds > applications and frameworks for enterprise scaling and automation. We play a > critical role in creating cost-effective, agile business by designing > unified applications and processes and working with other software groups. > The team is highly self-directed, the work is varied, and all team members > are expected to solve problems end-to-end; there's no separation of design, > implementation, testing, documentation, or maintenance. > > The ideal candidate has 3+ years experience with perl and/or C++, as well as > object-oriented design. Undergraduate or graduate degree in computer > science or equivalent experience required. Knowledge of UNIX, the ability > to work on a team or independently, work with technical and non-technical > users, set appropriate schedules, and produce robust, supportable software > with comprehensive documentation is a must. Experience working with existing > code, user interfaces, SQL, LDAP, creating client/server applications, > designing large scalable systems, interacting with management, technical, > and less-technical users is a plus. Previous experience in a multi-vendor > UNIX environment and exposure to security, systems administration, or > database administration is also a plus. > > ----------------------------------------------------------------------- > > Software Development Engineer, Enterprise Deployment Framework, #02-007227 > > Amazon.com is looking for an exceptional software developer to build a > world-wide application deployment framework for our extensive network of > data, applications and servers. We need to create a highly scalable, > configurable system that can manage a wide variety of content across the > entire infrastructre, and the person who fills this role will be the lead > and primary implementor of the project. > > 3+ years experience with perl and/or C++, as well as object-oriented design > is ideal. Undergraduate or graduate degree in computer science or > equivalent experience required. Knowledge of UNIX, the ability to work on a > team or independently, define project technical requirements, work with > technical and non-technical users, set appropriate schedules, and produce > robust, supportable software with comprehensive documentation is a must. > Experience with data modelling, QA tools, SQL, creating user interfaces, > designing large scalable systems, interacting with management and end-users, > or previous experience designing build/release systems is a plus. > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From mathin at mathin.com Thu Jun 13 11:38:38 2002 From: mathin at mathin.com (Dan Ebert) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) In-Reply-To: References: Message-ID: <1023986318.31375.3.camel@algernon.lan.enic.cc> On Wed, 2002-06-12 at 23:35, dancerboy wrote: > Java and C# are meant for large-scale applications, not one-liners. I hope you are not implying perl cannot be used to write large applications. I have seen perl used effectively for some decent size (and fairly complex) programs. Dan. > Saying that Perl is superior to Java because you can write useful > one-liners in it is like saying that a PowerBook is superior to a > Cray supercomputer, because the PowerBook will fit into your backpack. > > Perl and Java are very different tools designed for very different purposes. > > BTW, I recently put some of my thoughts on this and similar subject online at: > > http://www.strangelight.com/projects/coding_style.html > > (see especially this section: > > http://www.strangelight.com/projects/coding_style.html#coding > > ) I'd be curious to hear others' thoughts... > > -jason > > > > At 9:35 pm -0700 2002-06-12, Marc M. Adkins wrote: > > > On the other hand, many CPAN modules show the lamentable results of > >> inappropriately shoehorning simple procedural code into the OO model. > > > >Which reminds me of one of my long-standing gripes with some object-oriented > >languages, Java being my classic example, but C# as well and probably some > >others. The "Hello, World" program for C# (from the .NET documentation) is: > > > > // Hello1.cs > > public class Hello1 > > { > > public static void Main() > > { > > System.Console.WriteLine("Hello, World!"); > > } > > } > > > >It is necessary to create a class in order to write a simple program! As a > >secondary kvetch, it is necessary to use a class library to write to the > >console. Intuitive, neh? I leave the Perl version (which can be done at > >the command line using -e!) as an exercise for the reader. > > > >I find Perl congenial in that it _allows_ me to structure my code when I > >need to but does not _force_ me to do so when I don't. Or to put it another > >way: there are situations where I have the time, the motivation, and the > >inclination to be a "good" programmer and there are situations where all > >bets are off and I must hack like a demon and devil take all that software > >engineering foo. The hard part is usually knowing which situation I'm in at > >any given moment. > > > >So ends my diatribe on software libertarianism. Vive l'anarchy! Within > >reason, of course. > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > -- Dan Ebert ---------------------------------------------------------- "If you're right 90% of the time, why quibble about the remaining 3%?" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pate at eylerfamily.org Thu Jun 13 12:35:57 2002 From: pate at eylerfamily.org (Pat Eyler) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software librarianism Message-ID: (sorry for the play on a recent Subject: ... I just couldn't pass it up) --- I'm currently working on a project that's developing a library system, for those places with lots of books ;), in Perl. We're getting ready to do a 1.2.0 release (today or tomorrow). With the new release, we're going to be looking for more developers to join in the fun. I thought I'd make mention of it here and see what developed. You can find more information about the project at: or . thanks, -pate - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From dancerboy at strangelight.com Thu Jun 13 13:14:43 2002 From: dancerboy at strangelight.com (dancerboy) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) In-Reply-To: <1023986318.31375.3.camel@algernon.lan.enic.cc> References: <1023986318.31375.3.camel@algernon.lan.enic.cc> Message-ID: At 9:38 am -0700 2002-06-13, Dan Ebert wrote: >On Wed, 2002-06-12 at 23:35, dancerboy wrote: >> Java and C# are meant for large-scale applications, not one-liners. > >I hope you are not implying perl cannot be used to write large >applications. I have seen perl used effectively for some decent size >(and fairly complex) programs. I would say that there's significant overlap in what different languages are good for. Java is crappy for one-liners, but great for medium- to large-scale applications. Perl is great for one-liners, crappy for truly *large*-scale applications. For medium-sized applications, Perl can be great OR crappy, depending on the skills of the developer(s) involved. To paraphrase something I say on my web page: Perl empowers programmers to write code in any way that they want. In many cases, however, that means empowering programmers to write code very, very badly. -jason - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pdarley at kinesis-cem.com Thu Jun 13 14:16:05 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) In-Reply-To: Message-ID: Jason, I'm not sure that Perl isn't fine for very large applications; if everything is kept orderly I don't see any particular size where Perl just pukes and gives up. I'm curious about where you tend to draw the line for where it breaks down? Thanks, Peter Darley -----Original Message----- From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org]On Behalf Of dancerboy Sent: Thursday, June 13, 2002 11:15 AM To: SPUG Subject: Re: SPUG: software libertarianism (was: Scope question) At 9:38 am -0700 2002-06-13, Dan Ebert wrote: >On Wed, 2002-06-12 at 23:35, dancerboy wrote: >> Java and C# are meant for large-scale applications, not one-liners. > >I hope you are not implying perl cannot be used to write large >applications. I have seen perl used effectively for some decent size >(and fairly complex) programs. I would say that there's significant overlap in what different languages are good for. Java is crappy for one-liners, but great for medium- to large-scale applications. Perl is great for one-liners, crappy for truly *large*-scale applications. For medium-sized applications, Perl can be great OR crappy, depending on the skills of the developer(s) involved. To paraphrase something I say on my web page: Perl empowers programmers to write code in any way that they want. In many cases, however, that means empowering programmers to write code very, very badly. -jason - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From Daniel.Pommert at verizonwireless.com Thu Jun 13 14:45:48 2002 From: Daniel.Pommert at verizonwireless.com (Pommert, Daniel) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) Message-ID: <9B30436F511ED5118EDF0002A55C31800119D98D@cairvexmb03.uswin.ad.vzwcorp.com> I must speak up. I have written a fairly large application in OO Perl. It was 20,000+ lines, not counting comments, blank lines, POD, curly brace lines, etc. Counting those, it was 80,000+. I was one of the five main authors. However, I was able to define interfaces that let me work without interference with other developers on their portion of the project. It was developed on Unix, under X, using Oracle, as a back end process. The front end was also written in Perl (up to the HTML and JavaScript). I am not counting the lines of code for that. The two sides talked through Oracle and MQM (and later Oracle's AQ instead of MQM). I saw no problem extending this program to be much larger than it was. Much of it (i.e. the bulk of the lines of code) were quite modular and performed a particular polymophic function. About 4,000 lines were more difficult to write and involved message passing between multiple processes, managing messages, process states, etc. It survived a late stage major structural change (new management, new paradigm). These changes benefited the project by making all of the interfaces more rigorously defined. It was a hassle. But, it certainly did not kill things. It worked great until the company paying for the development decided that we should scrap it all in favor of a legacy Windows solution. (We had failed to achieve one key goal that arose during development. Also, the UI people repeated changed the "spec" causing the implementation people to always need to change things. The CEO decided that he was throwing good money after bad and that was that.) In short, OO Perl can be quite useful for large complicated systems. The fact that you don't have to worry about many of the gotchas or restrictions of other implementation languages (as much) really helped. (e.g. Memory leaks, difficulty in writing virtual constructors, clunky string handling, fussing with type conversion routines) (Yes. I have mentioned this project here before. And, yes. When I get the time, I intend to rewrite the kernel of it for CPAN.) -- Daniel Pommert Verizon Wireless 425-603-8612 -----Original Message----- From: dancerboy [mailto:dancerboy@strangelight.com] Sent: Thursday, June 13, 2002 11:15 AM To: SPUG Subject: Re: SPUG: software libertarianism (was: Scope question) At 9:38 am -0700 2002-06-13, Dan Ebert wrote: >On Wed, 2002-06-12 at 23:35, dancerboy wrote: >> Java and C# are meant for large-scale applications, not one-liners. > >I hope you are not implying perl cannot be used to write large >applications. I have seen perl used effectively for some decent size >(and fairly complex) programs. I would say that there's significant overlap in what different languages are good for. Java is crappy for one-liners, but great for medium- to large-scale applications. Perl is great for one-liners, crappy for truly *large*-scale applications. For medium-sized ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ applications, Perl can be great OR crappy, depending on the skills of the developer(s) involved. To paraphrase something I say on my web page: Perl empowers programmers to write code in any way that they want. In many cases, however, that means empowering programmers to write code very, very badly. -jason - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From Daniel.Pommert at verizonwireless.com Thu Jun 13 14:50:50 2002 From: Daniel.Pommert at verizonwireless.com (Pommert, Daniel) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) Message-ID: <9B30436F511ED5118EDF0002A55C31800119D98E@cairvexmb03.uswin.ad.vzwcorp.com> As a PS to my previous note: Another big problem with Perl is its sigma. I have known good OO developers that turned up their nose at learning Perl (very well) because they didn't want to venture into a "script" language. In the project I just mentioned (in the late '90s) it was very hard to find good Perl developers who could work on something large, much less do it in an OO fashion. -- Daniel Pommert Verizon Wireless 425-603-8612 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From dancerboy at strangelight.com Thu Jun 13 15:06:09 2002 From: dancerboy at strangelight.com (dancerboy) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) In-Reply-To: <9B30436F511ED5118EDF0002A55C31800119D98D@cairvexmb03.uswin.ad.vzwcorp.com > References: <9B30436F511ED5118EDF0002A55C31800119D98D@cairvexmb03.uswin.ad.vzwcorp.com > Message-ID: Ummm... I really hate to say this, but I don't see how your use of Perl in a large-scale project that *failed* in any way refutes my claim that Perl is not an appropriate tool for such applications. I know this may sound terribly harsh. When you've invested a lot of time and effort into a project, it's difficult to admit that some fundamental part of it -- such as the choice of language -- was flawed from the start. But based on what you've told us here, that would be the most obvious conclusion. Look, we all make mistakes. Some of us learn from them. -jason At 12:45 pm -0700 2002-06-13, Pommert, Daniel wrote: >I must speak up. I have written a fairly large application in OO Perl. It >was 20,000+ lines, not counting comments, blank lines, POD, curly brace >lines, etc. Counting those, it was 80,000+. I was one of the five main >authors. However, I was able to define interfaces that let me work without >interference with other developers on their portion of the project. It was >developed on Unix, under X, using Oracle, as a back end process. The front >end was also written in Perl (up to the HTML and JavaScript). I am not >counting the lines of code for that. The two sides talked through Oracle >and MQM (and later Oracle's AQ instead of MQM). > >I saw no problem extending this program to be much larger than it was. Much >of it (i.e. the bulk of the lines of code) were quite modular and performed >a particular polymophic function. About 4,000 lines were more difficult to >write and involved message passing between multiple processes, managing >messages, process states, etc. > >It survived a late stage major structural change (new management, new >paradigm). These changes benefited the project by making all of the >interfaces more rigorously defined. It was a hassle. But, it certainly did >not kill things. > >It worked great until the company paying for the development decided that we >should scrap it all in favor of a legacy Windows solution. (We had failed >to achieve one key goal that arose during development. Also, the UI people >repeated changed the "spec" causing the implementation people to always need >to change things. The CEO decided that he was throwing good money after bad >and that was that.) > >In short, OO Perl can be quite useful for large complicated systems. The >fact that you don't have to worry about many of the gotchas or restrictions >of other implementation languages (as much) really helped. (e.g. Memory >leaks, difficulty in writing virtual constructors, clunky string handling, >fussing with type conversion routines) > >(Yes. I have mentioned this project here before. And, yes. When I get the >time, I intend to rewrite the kernel of it for CPAN.) > >-- Daniel Pommert > Verizon Wireless > 425-603-8612 > > >-----Original Message----- >From: dancerboy [mailto:dancerboy@strangelight.com] >Sent: Thursday, June 13, 2002 11:15 AM >To: SPUG >Subject: Re: SPUG: software libertarianism (was: Scope question) > > >At 9:38 am -0700 2002-06-13, Dan Ebert wrote: >>On Wed, 2002-06-12 at 23:35, dancerboy wrote: >>> Java and C# are meant for large-scale applications, not one-liners. >> >>I hope you are not implying perl cannot be used to write large >>applications. I have seen perl used effectively for some decent size >>(and fairly complex) programs. > >I would say that there's significant overlap in what different >languages are good for. Java is crappy for one-liners, but great for >medium- to large-scale applications. Perl is great for one-liners, >crappy for truly *large*-scale applications. For medium-sized >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >applications, Perl can be great OR crappy, depending on the skills of >the developer(s) involved. To paraphrase something I say on my web >page: Perl empowers programmers to write code in any way that they >want. In many cases, however, that means empowering programmers to >write code very, very badly. > >-jason > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From byoung at speakeasy.org Thu Jun 13 17:44:27 2002 From: byoung at speakeasy.org (Bradley E. Young) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) In-Reply-To: Message-ID: <000a01c2132b$e087c1b0$5364400a@na.wrq.com> jason, Changing scope (poor management) killed the project, based on his statements. The language didn't have anything to do with it. I'll assume that you've been around long enough to know that lots, i.e., 70-80%, of software projects fail and/or go horribly over budget while failing to deliver expected results. This isn't typically due to choice of programming language (hey, wait, maybe if they used Perl, it'd work out better!), but rather management. I worked on a large project written in Java that failed in this manner (creeping featurism, interfaces in flux). I still haven't seen anything that you can point to that offers even a whit of proof that Perl is less capable than, say, Java for large scale projects. Brad > -----Original Message----- > From: owner-spug-list@pm.org > [mailto:owner-spug-list@pm.org]On Behalf Of > dancerboy > Sent: Thursday, June 13, 2002 13:06 > To: SPUG > Subject: RE: SPUG: software libertarianism (was: Scope question) > > > Ummm... I really hate to say this, but I don't see how your use of > Perl in a large-scale project that *failed* in any way refutes my > claim that Perl is not an appropriate tool for such applications. > > I know this may sound terribly harsh. When you've invested a lot of > time and effort into a project, it's difficult to admit that some > fundamental part of it -- such as the choice of language -- was > flawed from the start. But based on what you've told us here, that > would be the most obvious conclusion. > > Look, we all make mistakes. Some of us learn from them. > > -jason > > > At 12:45 pm -0700 2002-06-13, Pommert, Daniel wrote: > >I must speak up. I have written a fairly large application > in OO Perl. It > >was 20,000+ lines, not counting comments, blank lines, POD, > curly brace > >lines, etc. Counting those, it was 80,000+. I was one of > the five main > >authors. However, I was able to define interfaces that let > me work without > >interference with other developers on their portion of the > project. It was > >developed on Unix, under X, using Oracle, as a back end > process. The front > >end was also written in Perl (up to the HTML and > JavaScript). I am not > >counting the lines of code for that. The two sides talked > through Oracle > >and MQM (and later Oracle's AQ instead of MQM). > > > >I saw no problem extending this program to be much larger > than it was. Much > >of it (i.e. the bulk of the lines of code) were quite > modular and performed > >a particular polymophic function. About 4,000 lines were > more difficult to > >write and involved message passing between multiple > processes, managing > >messages, process states, etc. > > > >It survived a late stage major structural change (new management, new > >paradigm). These changes benefited the project by making all of the > >interfaces more rigorously defined. It was a hassle. But, > it certainly did > >not kill things. > > > >It worked great until the company paying for the development > decided that we > >should scrap it all in favor of a legacy Windows solution. > (We had failed > >to achieve one key goal that arose during development. > Also, the UI people > >repeated changed the "spec" causing the implementation > people to always need > >to change things. The CEO decided that he was throwing good > money after bad > >and that was that.) > > > >In short, OO Perl can be quite useful for large complicated > systems. The > >fact that you don't have to worry about many of the gotchas > or restrictions > >of other implementation languages (as much) really helped. > (e.g. Memory > >leaks, difficulty in writing virtual constructors, clunky > string handling, > >fussing with type conversion routines) > > > >(Yes. I have mentioned this project here before. And, yes. > When I get the > >time, I intend to rewrite the kernel of it for CPAN.) > > > >-- Daniel Pommert > > Verizon Wireless > > 425-603-8612 > > > > > >-----Original Message----- > >From: dancerboy [mailto:dancerboy@strangelight.com] > >Sent: Thursday, June 13, 2002 11:15 AM > >To: SPUG > >Subject: Re: SPUG: software libertarianism (was: Scope question) > > > > > >At 9:38 am -0700 2002-06-13, Dan Ebert wrote: > >>On Wed, 2002-06-12 at 23:35, dancerboy wrote: > >>> Java and C# are meant for large-scale applications, not > one-liners. > >> > >>I hope you are not implying perl cannot be used to write large > >>applications. I have seen perl used effectively for some > decent size > >>(and fairly complex) programs. > > > >I would say that there's significant overlap in what different > >languages are good for. Java is crappy for one-liners, but great for > >medium- to large-scale applications. Perl is great for one-liners, > >crappy for truly *large*-scale applications. For medium-sized > >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >applications, Perl can be great OR crappy, depending on the skills of > >the developer(s) involved. To paraphrase something I say on my web > >page: Perl empowers programmers to write code in any way that they > >want. In many cases, however, that means empowering programmers to > >write code very, very badly. > > > >-jason > > > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - > > POST TO: spug-list@pm.org PROBLEMS: > owner-spug-list@pm.org > > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > > Replace ACTION by subscribe or unsubscribe, EMAIL by your > Email-address > > For daily traffic, use spug-list for LIST ; for weekly, > spug-list-digest > > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From showell at hargray.com Thu Jun 13 19:58:20 2002 From: showell at hargray.com (Steve Howell) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Java, Perl, large-scale projects References: <000a01c2132b$e087c1b0$5364400a@na.wrq.com> Message-ID: <000d01c2133e$96437aa0$6405a8c0@pavilion> Large scale projects are rarely powered by a single language. Even so-called "pure Perl" or "pure Java" projects often owe their scalability to other languages, since the projects tend to use operating systems, file systems, networking software, and relational databases that are written in C or other low-level languages. You have to be careful about how you classify a project as "large." Sometimes the scale of the software doesn't necessarily match the scale of the problem solved. Often the key to solving a large problem is decomposing that problem into a bunch of smaller problems. I can't see how using Perl would ever hinder that process. I could see how a monolithic approach to problem-solving could hinder that process. How well does Java interact with other languages, compared to Perl? What are some of the larger software projects in this day and age? I would throw out Google, Oracle, and eBay for starters. Does anybody know what they use? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From creede at penguinsinthenight.com Thu Jun 13 21:16:39 2002 From: creede at penguinsinthenight.com (Creede Lambard) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Java, Perl, large-scale projects In-Reply-To: <000d01c2133e$96437aa0$6405a8c0@pavilion> Message-ID: On Thu, 13 Jun 2002, Steve Howell wrote: > Large scale projects are rarely powered by a single language. Even so-called > "pure Perl" or "pure Java" projects often owe their scalability to other > languages, since the projects tend to use operating systems, file systems, > networking software, and relational databases that are written in C or other > low-level languages. > > You have to be careful about how you classify a project as "large." Sometimes > the scale of the software doesn't necessarily match the scale of the problem > solved. Often the key to solving a large problem is decomposing that problem > into a bunch of smaller problems. I can't see how using Perl would ever hinder > that process. I could see how a monolithic approach to problem-solving could > hinder that process. How well does Java interact with other languages, compared > to Perl? > > What are some of the larger software projects in this day and age? I would > throw out Google, Oracle, and eBay for starters. Does anybody know what they > use? > The Cobalt Group (my current employer) handles websites for auto dealers and manufacturers. In my little corner of Cobalt we do websites for a couple thousand Chrysler Fivestar dealers, not to mention internal tools, reporting, and the like. We also have divisions for Kia, Toyota, Saturn, Hummer and several other manufacturers, not to mention major auto groups like AutoNation. And up until recently the entire shebang was written in Perl. (They are now making a push to a Java-based platform, which has only recently gotten started.) That's several MILLION lines of code. To be sure this isn't one monolithic project, but some of the stuff I work on has several thousand lines of code per module. It's all in the organization of the project. Most of us wouldn't want to maintain a single program of 60,000 lines, written in Perl or anything else. But, if it's broken down into 2,000 line modules with well-defined APIs, all of the sudden it doesn't seem so fearsome. -- * .~. `( --------------------------------------------------------------- ` / V \ . Creede Lambard : Nothing is quite so powerful as /( )\ creede@penguinsinthenight.com : a penguin whose time has come. ^^-^^ --------------------------------------------------------------- Perl Programmer and Linux Sysadmin, reasonable rates. Inquire within. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From Marc.M.Adkins at Doorways.org Fri Jun 14 00:38:40 2002 From: Marc.M.Adkins at Doorways.org (Marc M. Adkins) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Java, Perl, large-scale projects In-Reply-To: Message-ID: > And up until recently the entire shebang was written in Perl. > (They are now > making a push to a Java-based platform, which has only recently gotten > started.) I would be interested in the reasoning behind the change. I'm not being argumentative, I'm really curious. Marc M. Adkins - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From ericj at cubesearch.com Fri Jun 14 01:47:04 2002 From: ericj at cubesearch.com (Eric Johanson) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Java, Perl, large-scale projects In-Reply-To: Message-ID: My 2c, When I worked at cobalt in Jan 2000, there was a 'big push for java'. The basis I was told was that it leaks to much for modperl, and they are spending a fortune in hardware. The performance of the code was terrible. The 'patch' at the time was to have the perl output as much static data as possible - - that helped, but it was still a problem for all of the dynamic content. I'm shocked that they haven't rolled java out yet - it has been over 2 years of development time (I recall estimates of _a few months_ to port it - - I guess that didn't happen). I hope that Creede can give us an update. I would think that something is up in java at this point. http://dealernet.com/ - still using .cgi http://www.toyotadealer.com/seattle/ - still using .cgi Please don't read the wrong thing into this post; Cobalt was a fun place to work, and there had been some great people to work with. -Eric On Thu, 13 Jun 2002, Marc M. Adkins wrote: > > And up until recently the entire shebang was written in Perl. > > (They are now > > making a push to a Java-based platform, which has only recently gotten > > started.) > > I would be interested in the reasoning behind the change. I'm not being > argumentative, I'm really curious. > > Marc M. Adkins > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From creede at penguinsinthenight.com Fri Jun 14 09:04:03 2002 From: creede at penguinsinthenight.com (Creede Lambard) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Java, Perl, large-scale projects In-Reply-To: Message-ID: On Thu, 13 Jun 2002, Eric Johanson wrote: > My 2c, > > When I worked at cobalt in Jan 2000, there was a 'big push for java'. The > basis I was told was that it leaks to much for modperl, and they are > spending a fortune in hardware. The performance of the code was terrible. > > The 'patch' at the time was to have the perl output as much static data as > possible - - that helped, but it was still a problem for all of the > dynamic content. I'm shocked that they haven't rolled java out yet - it > has been over 2 years of development time (I recall estimates of _a few > months_ to port it - - I guess that didn't happen). > > I hope that Creede can give us an update. I would think that something is > up in java at this point. > > http://dealernet.com/ - still using .cgi > http://www.toyotadealer.com/seattle/ - still using .cgi > > Please don't read the wrong thing into this post; Cobalt was a fun place > to work, and there had been some great people to work with. > > -Eric > The vast majority of the sites are still using perl. I don't know about the other groups, but Chrysler isn't doing mod_perl, we're doing straight template-based CGI. Otherwise it WOULD be impossible to maintain everything. As it is we have master scripts that generate the websites in general, then we can make changes to specific websites as necessary. As for the Java side, the way they've explained it to us is that Nitra (the Java initiative) is an architecture that we, or the dealers, can plug applications into and out of. So we can write applications that run on Nitra, but (for instance) if a dealer group has a custom finance calculator they want to deploy on their dealer web sites, they can write it to Nitra specifications and plug it right in. The problem with the two-year rollout is that doing something like this is harder than it sounds, and it sounds pretty tough. At any rate the idea is that eventually everything at Cobalt is going to be moved over to Nitra, including data feeds, log parsing and other back-end stuff. Personally I think it would make more sense to use Java on the application and presentation layers and Perl for the network layer, if you will. But, no one asked me. -- * .~. `( -------------------------------------------------------------- ` / V \ . Creede Lambard : When in danger, when in doubt, /( )\ creede@penguinsinthenight.com : run in circles, scream & shout ^^-^^ -------------------------------------------------------------- Perl Programmer and Linux Sysadmin, reasonable rates. Inquire within. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From humbaba9 at yahoo.com Fri Jun 14 09:32:39 2002 From: humbaba9 at yahoo.com (Meryll Larkin) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Java, Perl, large-scale projects In-Reply-To: <000d01c2133e$96437aa0$6405a8c0@pavilion> Message-ID: <20020614143239.10745.qmail@web12807.mail.yahoo.com> 6/13/02 Hi Steve, > What are some of the larger software projects in this day and age? I > would throw out Google, Oracle, and eBay for starters. Does anybody > know what they use? Ha ha ha ha ha - if you don't work there yourself, or know somebody who does, the next best way to find out what technologies a company is using is by looking at their jobs postings. So, my credentials are I've been out of work for 1.5 years and looking HARD all that time. Google uses Perl, lots of Perl. Do they use Perl alone? I don't know. Probably not. I suspect they have a very "robust" database. Meryll a part of the she-bang __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From wyllie at newsof.com Fri Jun 14 12:40:06 2002 From: wyllie at newsof.com (Andrew Wyllie) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Java, Perl, large-scale projects In-Reply-To: References: Message-ID: <20020614174005.GW20023@todora.omasum.com> When I worked at Cobalt 1999 (I'm starting to think everyone who programs in perl in Seattle has done a stint there), they were pushing for Java. At that time they had a huge code base of perl cgi scripts (no mod_perl - except for some of the work I was doing at the time), and no real development processes - like no CVS. So the hired a VP Development (formerly at IBM) and things started to change ( MySQL to Oracle, Continuus source and process control software, some time trcking system, etc.). The new VP also hired an old buddy of his in Austin Texas, and they set up a new dev shop down there of Java programers. So I think the push to Java was more due to the changes in management than anything to do with the code (and the existing CEOs proably just thought that the perl thing was a big mess and a swtch to Java would be a good thing). If they had the right people setting up their environment from the start, I'm pretty sure the perl solution would have worked really well for them. After leaving Cobalt (and seeing how not to do it), I helped form a new company wich has a fairly large perl code base ( ~60,000 lines) which runs in mod_perl and is doing really well. We looked at Java briefly (and corba) and used some of their concepts in our perl environment - we decided it was going to be easier to stick with our perl code than to start build a whole new framework in Java. Going to see Damian Conway a few years ago at the Perl University really gave me a lot of confidence that we were doing the right things. andrew On Fri, 14 Jun 2002, Creede Lambard wrote: > On Thu, 13 Jun 2002, Eric Johanson wrote: > > > My 2c, > > > > When I worked at cobalt in Jan 2000, there was a 'big push for java'. The > > basis I was told was that it leaks to much for modperl, and they are > > spending a fortune in hardware. The performance of the code was terrible. > > > > The 'patch' at the time was to have the perl output as much static data as > > possible - - that helped, but it was still a problem for all of the > > dynamic content. I'm shocked that they haven't rolled java out yet - it > > has been over 2 years of development time (I recall estimates of _a few > > months_ to port it - - I guess that didn't happen). > > > > I hope that Creede can give us an update. I would think that something is > > up in java at this point. > > > > http://dealernet.com/ - still using .cgi > > http://www.toyotadealer.com/seattle/ - still using .cgi > > > > Please don't read the wrong thing into this post; Cobalt was a fun place > > to work, and there had been some great people to work with. > > > > -Eric > > > > The vast majority of the sites are still using perl. I don't know about the > other groups, but Chrysler isn't doing mod_perl, we're doing straight > template-based CGI. Otherwise it WOULD be impossible to maintain everything. > As it is we have master scripts that generate the websites in general, then > we can make changes to specific websites as necessary. > > As for the Java side, the way they've explained it to us is that Nitra (the > Java initiative) is an architecture that we, or the dealers, can plug > applications into and out of. So we can write applications that run on Nitra, > but (for instance) if a dealer group has a custom finance calculator they > want to deploy on their dealer web sites, they can write it to Nitra > specifications and plug it right in. The problem with the two-year rollout is > that doing something like this is harder than it sounds, and it sounds pretty > tough. > > At any rate the idea is that eventually everything at Cobalt is going to be > moved over to Nitra, including data feeds, log parsing and other back-end > stuff. Personally I think it would make more sense to use Java on the > application and presentation layers and Perl for the network layer, if you > will. But, no one asked me. > > -- > * .~. `( -------------------------------------------------------------- > ` / V \ . Creede Lambard : When in danger, when in doubt, > /( )\ creede@penguinsinthenight.com : run in circles, scream & shout > ^^-^^ -------------------------------------------------------------- > > Perl Programmer and Linux Sysadmin, reasonable rates. Inquire within. > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From Marc.M.Adkins at Doorways.org Fri Jun 14 14:18:48 2002 From: Marc.M.Adkins at Doorways.org (Marc M. Adkins) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Java, Perl, large-scale projects In-Reply-To: Message-ID: > > When I worked at cobalt in Jan 2000, there was a 'big push for > java'. The > > basis I was told was that it leaks to much for modperl, and they are > > spending a fortune in hardware. The performance of the code > was terrible. > The vast majority of the sites are still using perl. I don't know > about the > other groups, but Chrysler isn't doing mod_perl, we're doing straight > template-based CGI. Otherwise it WOULD be impossible to maintain > everything. > As it is we have master scripts that generate the websites in > general, then > we can make changes to specific websites as necessary. I thought I would mention a another option for using Perl to serve web pages: www.fastcgi.com. FastCGI is a mechanism for developing stand-alone web application generators that handle page requests for the web server in a different process. Basically, the web server gets the page request and sends it on to one of a pool of processes, which does the work and returns the response through the web server. It's been cleverly designed to provide a coding environment just like CGI (environment variables and open STDXXX pipes) so existing CGI code can be ported very quickly. Because it is a stand-alone process, the cgi startup time (opening database connections and the like) isn't an issue. Because it is a separate process (not in the web server process space) you can do things like kill the process periodically and let the operating system reclaim the memory. There are plug-ins for Apache (mod_fastcgi), ISAPI, NSAPI, and a couple of lesser-known HTTP servers that provide FastCGI support directly. In addition, FastCGI is language-independent. The basic library is in C and there are bindings for C, C++, Scheme, Eiffel, Java, Perl, Python, Ruby, TCL, and Smalltalk. It's free. It comes with source code. Some potentially negative aspects: * There is apparently one guy supporting the core library, the language bindings are provided by other people. * It comes out of a commercial firm, which retains copyright, though the license seems friendly enough. * The current load-balancing scheme isn't session-friendly. The next version, promised real soon now for a while, will supposedly support Apache 2.0 and provide support for sessions. I'm not selling anything here. Just pointing out a tool that can help in some situations. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From cmeyer at helvella.org Fri Jun 14 15:43:35 2002 From: cmeyer at helvella.org (Colin Meyer) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: mod_perl and fastcgi (was: large-scale projects) In-Reply-To: ; from Marc.M.Adkins@Doorways.org on Fri, Jun 14, 2002 at 12:18:48PM -0700 References: Message-ID: <20020614134335.B14020@hobart.helvella.org> Hi Marc, On Fri, Jun 14, 2002 at 12:18:48PM -0700, Marc M. Adkins wrote: [ description of FastCGI ] > Because it is a stand-alone process, the cgi startup time (opening database > connections and the like) isn't an issue. Because it is a separate process > (not in the web server process space) you can do things like kill the > process periodically and let the operating system reclaim the memory. It isn't relegating the content generation and http serving to separate processes that gives one these abilities. When running under mod_perl, it is quite easy to periodically kill off long running processes, to let the os reclaim memory. For example, see Apache::GTopLimit, which allows one to set memory usage limits for httpd processes. The Apache::Resources module allows one to limit the amount of CPU time (or other resources) that an instance of httpd is allowed to consume. I'd like to see you accomplish that with FastCGI. ;-) http://perl.apache.org/guide/performance.html#Limiting_the_Size_of_the_Process http://perl.apache.org/guide/performance.html#Limiting_Other_Resources_Used_by Have fun, -C. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From dancerboy at strangelight.com Fri Jun 14 18:43:14 2002 From: dancerboy at strangelight.com (dancerboy) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) In-Reply-To: <000a01c2132b$e087c1b0$5364400a@na.wrq.com> References: <000a01c2132b$e087c1b0$5364400a@na.wrq.com> Message-ID: At 3:44 pm -0700 2002-06-13, Bradley E. Young wrote: >jason, > >Changing scope (poor management) killed the project, based on his >statements. The language didn't have anything to do with it. Of course I don't actually know the details of what killed this project -- most likely it was a combination of factors, with choice of language being one of them, though not necessarily the most significant. My point was that, if one is feeling uncharitable (as apparently I was when responding to that post) one could easily interpret that post as a list of *excuses*, blaming management for a failure that had more to do with the developers. Yes, the OP *claimed* that the death of the project was due entirely to management, but "reading between the lines" one could easily come to a different conclusion. BTW, it's somewhat unreasonable to complain that a project was killed by "changing specs". Specs *always* change! Part of one's job as a developer is to create an architecture that's flexible enough to accommodate changing specs. Yes, there are reasonable, minor spec changes and unreasonable, radical spec changes. But part of my point is that working in a language like Java can make it much more likely that you'll be able to accommodate even radical spec changes in large-scale applications. > >I still haven't seen anything that you can point to that offers even >a whit of proof that Perl is less capable than, say, Java for large >scale projects. Based on the (mostly constructive) criticisms people have made, here's my new, improved take on the Java vs. Perl thing: It seems to me that there are essentially two different kinds of solutions to any coding problem: there's the Correct way, and there's the Clever Shortcut. (I'm not going to try to define exactly what those terms mean; and there are, of course, gray areas. But I think anyone who's been coding for any length of time will understand intuitively what I'm talking about.) Java is designed to encourage Correct solutions. Most Clever Shortcuts are difficult or impossible to code in Java. Perl, on the other hand, is the Clever Shortcut language par excellence. It's *very* easy to code Clever Shortcuts in Perl. However, Perl is also reasonably good at Correct solutions as well, *if* the developers choose to use it that way. Now understand that Clever Shortcuts are not necessarily Bad: they are *shortcuts*, which means that they do speed things up (usually development time, but sometimes Clever Shortcuts are used to reduce system resource usage instead). Whether to use a Correct solution or a Clever Shortcut is really an optimization problem, based on the following observations: * The advantages of Clever Shortcuts (decreased resource usage, whether those resources are system resources or development resources) relative to the corresponding Correct solutions tend to increase linearly with code size. * Correct solutions and Clever Shortcuts are both apt to contain bugs. * The difficulty in finding and correcting bugs in Correct solutions tends also to increase linearly with code size. * The difficulty in finding and correcting bugs in Clever Shortcuts tends to increase *geometrically* (or perhaps even exponentially) with code size. So, for small applications, Clever Shortcuts are clearly advantageous. For large applications, Clever Shortcuts become a nightmare. And the larger the application, the less room there is for the occasional Clever Shortcut here and there in the code. The problem is, most developers (myself included) find it very difficult to eschew Clever Shortcuts altogether. When faced with some specific problem that seems trivially solvable with a Clever Shortcut, but for which a Correct solution would be a real pain-in-the-ass, most of us will give in to temptation and use the Clever Shortcut "just this once". (One little global variable isn't going hurt anything, right?) But with large projects, these little deviations from Correctness have a way of adding up, until an originally clean and tidy architecture becomes a jury-rigged mess. Java is sort an answer to the Lord's Prayer, as applied to software development: "lead us not into temptation, but deliver us from evil..." Now, if you can find a team of Perl programmers who are able and willing to code everything using nothing but Correct solutions, whom you can depend on never to indulge in Clever Shortcuts, then building a large-scale application in Perl might work just as well as doing it in Java. But 1) such developers are hard to find, and 2) what this really means is that you need your developers to code in Perl *as if* they were coding in Java. And if you're going to use Perl *as if* it were Java, then... why not just use Java? (And just to clarify: I never said that you *couldn't* code large-scale application in Perl, only that it was a poor choice in terms of the development resources needed. Of course it's *possible* to code a large-scale application in Perl. You can code a large-scale application in assembler, given enough time, developer resources, and masochism. That doesn't mean it's a smart choice.) -jason - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From me at donshanks.com Fri Jun 14 19:01:02 2002 From: me at donshanks.com (Don Shanks) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Java, Perl, large-scale projects In-Reply-To: Message-ID: <000501c213ff$c0cace60$1b280a0a@telgar> First of all, I never have and never intend to work for Cobalt group. I do, however, know people who do. I will not go into the 'rumors' I have heard. That said I have known several businesses or employees from those business that have made the transition from PERL to Java. I myself learned Java so I could port one of my x-company's apps from PERL to Java. Myself and everyone I have talked to believe that moving from PERL to Java is a slow and arduous process, not to mention ( any I only speak of the apps I know of), a mistake. Even when the apps are written from scratch, it takes much longer to get functionality back to the original standard. Maybe throwing tons of money and developers at it will solve those issues, but I have even heard of companies having to pay extra developers to get it back to PERL before the bomb exploded. Having programmed both, I can normally achieve my goal in less than half the time if I use PERL. Plug-in apps are completely possible in PERL, and using mod_perl gives you the ultimate control of the Apache server. Having tried the rest, I'll stick with the best. PERL. Don Shanks Senior Applications Systems Engineer Cell Systems Initiative - University of Washington dshanks@u.washington.edu -----Original Message----- From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org] On Behalf Of Creede Lambard Sent: Friday, 14 June, 2002 07:04 To: Eric Johanson Cc: spug-list@pm.org Subject: RE: SPUG: Java, Perl, large-scale projects On Thu, 13 Jun 2002, Eric Johanson wrote: > My 2c, > > When I worked at cobalt in Jan 2000, there was a 'big push for java'. > The basis I was told was that it leaks to much for modperl, and they are > spending a fortune in hardware. The performance of the code was terrible. > > The 'patch' at the time was to have the perl output as much static > data as possible - - that helped, but it was still a problem for all > of the dynamic content. I'm shocked that they haven't rolled java out > yet - it has been over 2 years of development time (I recall estimates > of _a few months_ to port it - - I guess that didn't happen). > > I hope that Creede can give us an update. I would think that > something is up in java at this point. > > http://dealernet.com/ - still using .cgi > http://www.toyotadealer.com/seattle/ - still using .cgi > > Please don't read the wrong thing into this post; Cobalt was a fun > place to work, and there had been some great people to work with. > > -Eric > The vast majority of the sites are still using perl. I don't know about the other groups, but Chrysler isn't doing mod_perl, we're doing straight template-based CGI. Otherwise it WOULD be impossible to maintain everything. As it is we have master scripts that generate the websites in general, then we can make changes to specific websites as necessary. As for the Java side, the way they've explained it to us is that Nitra (the Java initiative) is an architecture that we, or the dealers, can plug applications into and out of. So we can write applications that run on Nitra, but (for instance) if a dealer group has a custom finance calculator they want to deploy on their dealer web sites, they can write it to Nitra specifications and plug it right in. The problem with the two-year rollout is that doing something like this is harder than it sounds, and it sounds pretty tough. At any rate the idea is that eventually everything at Cobalt is going to be moved over to Nitra, including data feeds, log parsing and other back-end stuff. Personally I think it would make more sense to use Java on the application and presentation layers and Perl for the network layer, if you will. But, no one asked me. -- * .~. `( -------------------------------------------------------------- ` / V \ . Creede Lambard : When in danger, when in doubt, /( )\ creede@penguinsinthenight.com : run in circles, scream & shout ^^-^^ -------------------------------------------------------------- Perl Programmer and Linux Sysadmin, reasonable rates. Inquire within. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From chris at wildsky.com Fri Jun 14 19:19:25 2002 From: chris at wildsky.com (Chris Kohout) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Perl PR Message-ID: Like others in this list, I've not found much Perl work in the Seattle area. .NET and Java seem to be dominating the field. I've been wondering why. Obviously, it's a Microsoft town, so the rise of .NET and ASP make sense. But why has Java so eclipsed Perl here? Is this due to a lack of good PR for Perl? Seems like the only time I hear about Perl here is when some company is switching their old Perl code for a new system. Despite the obvious technical goodness of Perl, maybe it's not being sold enough to corporate management? Chris - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From me at donshanks.com Fri Jun 14 20:32:14 2002 From: me at donshanks.com (Don Shanks) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Perl PR In-Reply-To: Message-ID: <000d01c2140c$7db37070$1b280a0a@telgar> I think it's the PR or maybe the lack of examples. I write a site that uses almost all PERL. It's not tweaked as much as it could be because I run an academic site, not e-commerce. My site is all XML using XSL and XSP. It works great. I don't see a lot of other practical sites up touting the abilities of PERL. I have worked in the commercial sector, and contract out there now, and I will be working with an old friend in building a complete e-Commerce site in PERL and XML. I don't know why others have missed it, but PERL works great on strings, XML is strings, Hmmmmmm. There seems to be a correlation here. In the end it means this: BRAG, BRAG, BRAG. If you got it running in PERL let others know, stretch the boundaries, if you are in there, use it. My current position did not originally call for PERL knowledge, but through practical application, all future job specs will. I think we need more practical applications in the commercial realm. PERL has been relegated to reading log files for too long. I'm mad as hell and I ain't gonna take it no more. Sorry, got a little on the SOAP box. I'll be quiet now. Ramblings of PERLunatic mind. -Don -----Original Message----- From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org] On Behalf Of Chris Kohout Sent: Friday, 14 June, 2002 17:19 To: spug-list@pm.org Subject: SPUG: Perl PR Like others in this list, I've not found much Perl work in the Seattle area. .NET and Java seem to be dominating the field. I've been wondering why. Obviously, it's a Microsoft town, so the rise of .NET and ASP make sense. But why has Java so eclipsed Perl here? Is this due to a lack of good PR for Perl? Seems like the only time I hear about Perl here is when some company is switching their old Perl code for a new system. Despite the obvious technical goodness of Perl, maybe it's not being sold enough to corporate management? Chris - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From richard at richard-anderson.org Fri Jun 14 20:34:28 2002 From: richard at richard-anderson.org (Richard Anderson) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: There's only one right way to do it? (was: software libertarianism (was: Scope question)) References: <000a01c2132b$e087c1b0$5364400a@na.wrq.com> Message-ID: <018c01c2140c$df620020$1488ddd1@aciwin> This idea of TOORWTDI (there's only one right way to do it) is contrary to the design of Perl and what we know about computer science. The classic algorithm books (Knuth, Sedgewick) give many examples of {sorting | searching | optimization | etc.} algorithms, all of which solve the problem satisfactorily and each of which is optimum under the right circumstances. I'd like to propose an alternative view of solutions to coding problems. There is a small class of solutions that are Nearly Optimum in the sense of maximizing certain qualities (conformance to spec, usability, maintainability, flexibility, conformance to standards, etc.) while minimizing other qualities (bugs, run/response time, consumption of system resources, programming effort, time-to-market, etc.). There is a larger class of solutions that are O.K. But Not Great that score lower on the optimization scale, an even larger class of Really Crappy solutions and a practically infinite class of Doesn't Work "solutions". I have omitted an Optimum class because, for other than trivial problems, getting a group of programmers to agree that a body of code is optimum down to a line-by-line basis will never happen. The trick, of course, is selecting the optimization criteria and weighting factors. The programmers, product managers, CIO and end user community will all disagree on this. What makes software development so interesting is the strategic challenges of managing the technical and organizational problems simultaneously and the tactical challenges of translating this into the decisions we make as we write code. The project cancellation cited by Mr. Pommert might have been averted if the programming team had weighted the time-to-market factor more heavily in their actions. Or not. Cheers, Richard richard@richard-anderson.org www.richard-anderson.org www.raycosoft.com ----- Original Message ----- From: "dancerboy" To: Sent: Friday, June 14, 2002 4:43 PM Subject: RE: SPUG: software libertarianism (was: Scope question) > At 3:44 pm -0700 2002-06-13, Bradley E. Young wrote: > >jason, > > > >Changing scope (poor management) killed the project, based on his > >statements. The language didn't have anything to do with it. > > Of course I don't actually know the details of what killed this > project -- most likely it was a combination of factors, with choice > of language being one of them, though not necessarily the most > significant. My point was that, if one is feeling uncharitable (as > apparently I was when responding to that post) one could easily > interpret that post as a list of *excuses*, blaming management for a > failure that had more to do with the developers. Yes, the OP > *claimed* that the death of the project was due entirely to > management, but "reading between the lines" one could easily come to > a different conclusion. > > BTW, it's somewhat unreasonable to complain that a project was killed > by "changing specs". Specs *always* change! Part of one's job as a > developer is to create an architecture that's flexible enough to > accommodate changing specs. Yes, there are reasonable, minor spec > changes and unreasonable, radical spec changes. But part of my point > is that working in a language like Java can make it much more likely > that you'll be able to accommodate even radical spec changes in > large-scale applications. > > > > >I still haven't seen anything that you can point to that offers even > >a whit of proof that Perl is less capable than, say, Java for large > >scale projects. > > Based on the (mostly constructive) criticisms people have made, > here's my new, improved take on the Java vs. Perl thing: > > It seems to me that there are essentially two different kinds of > solutions to any coding problem: there's the Correct way, and > there's the Clever Shortcut. (I'm not going to try to define exactly > what those terms mean; and there are, of course, gray areas. But I > think anyone who's been coding for any length of time will understand > intuitively what I'm talking about.) > > Java is designed to encourage Correct solutions. Most Clever > Shortcuts are difficult or impossible to code in Java. Perl, on the > other hand, is the Clever Shortcut language par excellence. It's > *very* easy to code Clever Shortcuts in Perl. However, Perl is also > reasonably good at Correct solutions as well, *if* the developers > choose to use it that way. > > Now understand that Clever Shortcuts are not necessarily Bad: they > are *shortcuts*, which means that they do speed things up (usually > development time, but sometimes Clever Shortcuts are used to reduce > system resource usage instead). Whether to use a Correct solution or > a Clever Shortcut is really an optimization problem, based on the > following observations: > > * The advantages of Clever Shortcuts (decreased resource usage, > whether those resources are system resources or development > resources) relative to the corresponding Correct solutions tend to > increase linearly with code size. > > * Correct solutions and Clever Shortcuts are both apt to contain bugs. > > * The difficulty in finding and correcting bugs in Correct solutions > tends also to increase linearly with code size. > > * The difficulty in finding and correcting bugs in Clever Shortcuts > tends to increase *geometrically* (or perhaps even exponentially) > with code size. > > So, for small applications, Clever Shortcuts are clearly > advantageous. For large applications, Clever Shortcuts become a > nightmare. And the larger the application, the less room there is > for the occasional Clever Shortcut here and there in the code. > > The problem is, most developers (myself included) find it very > difficult to eschew Clever Shortcuts altogether. When faced with > some specific problem that seems trivially solvable with a Clever > Shortcut, but for which a Correct solution would be a real > pain-in-the-ass, most of us will give in to temptation and use the > Clever Shortcut "just this once". (One little global variable isn't > going hurt anything, right?) But with large projects, these little > deviations from Correctness have a way of adding up, until an > originally clean and tidy architecture becomes a jury-rigged mess. > Java is sort an answer to the Lord's Prayer, as applied to software > development: "lead us not into temptation, but deliver us from > evil..." > > Now, if you can find a team of Perl programmers who are able and > willing to code everything using nothing but Correct solutions, whom > you can depend on never to indulge in Clever Shortcuts, then building > a large-scale application in Perl might work just as well as doing it > in Java. But 1) such developers are hard to find, and 2) what this > really means is that you need your developers to code in Perl *as if* > they were coding in Java. And if you're going to use Perl *as if* it > were Java, then... why not just use Java? > > (And just to clarify: I never said that you *couldn't* code > large-scale application in Perl, only that it was a poor choice in > terms of the development resources needed. Of course it's *possible* > to code a large-scale application in Perl. You can code a > large-scale application in assembler, given enough time, developer > resources, and masochism. That doesn't mean it's a smart choice.) > > -jason > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From asimjalis at yahoo.com Fri Jun 14 20:47:53 2002 From: asimjalis at yahoo.com (Asim Jalis) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) In-Reply-To: Message-ID: <20020615014753.53064.qmail@web14203.mail.yahoo.com> dancerboy wrote: > BTW, it's somewhat unreasonable to complain that > a project was killed by "changing specs". Specs > *always* change! Part of one's job as a > developer is to create an architecture that's > flexible enough to accommodate changing specs. > Yes, there are reasonable, minor spec changes > and unreasonable, radical spec changes. But > part of my point is that working in a language > like Java can make it much more likely that > you'll be able to accommodate even radical spec > changes in large-scale applications. This is a good point, if I can say that without taking a position in this Perl-vs-Java smackdown :-) Perl's permissiveness with object fields and also its lack of method prototyping makes changing the code a frightening experience. The interpreter does not care if I change the number of parameters to a method and forget to fix some of the calls. It also does not care if I rename a field in half my code but forget to rename it in a few places. While there are some solutions to this they are all fat. Class::Multimethods and Class::Struct make classes slow and expensive to use. It would be nice if these features were supported in raw Perl through something like "use strict". Asim __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From chris at chriskate.net Fri Jun 14 21:22:18 2002 From: chris at chriskate.net (Chris Sutton) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Perl PR In-Reply-To: <000d01c2140c$7db37070$1b280a0a@telgar> Message-ID: OK, time to "unlurk". I work for Smooth Corporation who owns/runs/develops ifloor.com, cornerhardware.com and several other flooring type sites. We do everything in perl. All our sites are dynmically generated using mod_perl and Mysql (though we are rapidly moving everything to Postgresql). Besides the visible "public" sides of the sites, there are lots of back end sales and fulfillment systems all developed in house using perl. I think one of the misconceptions with perl is the bad rap that it gets via traditional CGI performance and that it's slow. Most of our systems were CGI's when I got there over a year ago but since then almost all our systems are native mod_perl and the performance bottlenecks are no longer code, but in the database. The PR that we should all try and spread is that performace wise (at least for webapps), perl (via mod_perl) is no slouch. I have heard it is on par with Java based stuff but have never seen any benchmarks. On a side note, I have started to learn java, (to compete in the robocode site, http://robocode.alphaworks.ibm.com ) and personally after coding in perl for several years not, trying to create a program that does what I want in java is bugging the crap out of me. How the hell do you create a simple hash data structure in java, let alone a complete data structure like you can on the fly in perl, grrrr, (yes I know it's all about objects...). On Fri, 14 Jun 2002, Don Shanks wrote: > I think it's the PR or maybe the lack of examples. I write a site that > uses almost all PERL. It's not tweaked as much as it could be because I > run an academic site, not e-commerce. My site is all XML using XSL and > XSP. It works great. I don't see a lot of other practical sites up > touting the abilities of PERL. I have worked in the commercial sector, > and contract out there now, and I will be working with an old friend in > building a complete e-Commerce site in PERL and XML. I don't know why > others have missed it, but PERL works great on strings, XML is strings, > Hmmmmmm. There seems to be a correlation here. > > In the end it means this: BRAG, BRAG, BRAG. If you got it running in > PERL let others know, stretch the boundaries, if you are in there, use > it. My current position did not originally call for PERL knowledge, but > through practical application, all future job specs will. I think we > need more practical applications in the commercial realm. PERL has been > relegated to reading log files for too long. > > I'm mad as hell and I ain't gonna take it no more. > > Sorry, got a little on the SOAP box. I'll be quiet now. > > Ramblings of PERLunatic mind. > > -Don > > -----Original Message----- > From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org] On Behalf > Of Chris Kohout > Sent: Friday, 14 June, 2002 17:19 > To: spug-list@pm.org > Subject: SPUG: Perl PR > > > Like others in this list, I've not found much Perl work in the > Seattle area. .NET and Java seem to be dominating the field. I've > been wondering why. Obviously, it's a Microsoft town, so the rise of > .NET and ASP make sense. But why has Java so eclipsed Perl here? > > Is this due to a lack of good PR for Perl? Seems like the only time > I hear about Perl here is when some company is switching their old > Perl code for a new system. > > Despite the obvious technical goodness of Perl, maybe it's not being > sold enough to corporate management? > > Chris > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your > Email-address For daily traffic, use spug-list for LIST ; for weekly, > spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From cmeyer at helvella.org Fri Jun 14 22:20:51 2002 From: cmeyer at helvella.org (Colin Meyer) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) In-Reply-To: <20020615014753.53064.qmail@web14203.mail.yahoo.com>; from asimjalis@yahoo.com on Fri, Jun 14, 2002 at 06:47:53PM -0700 References: <20020615014753.53064.qmail@web14203.mail.yahoo.com> Message-ID: <20020614202051.A14732@hobart.helvella.org> Hi Asim, On Fri, Jun 14, 2002 at 06:47:53PM -0700, Asim Jalis wrote: > Perl's permissiveness with object fields and also > its lack of method prototyping makes changing the > code a frightening experience. Aha! A simply stated problem where Perl falls short of other languages for large projects. I can certainly relate to this from the experience of maintaining own code and others. > > The interpreter does not care if I change the > number of parameters to a method and forget to fix > some of the calls. To combat this problem, I like to code methods to take named parameters. $mushroom->name( GENUS => 'Melanoleuca', SPECIES => 'verrucipes' ); The extra typing makes the fingers a tad wearier, but the code is easier to read later. And this isn't much of a solution to existing code, which there's plenty of. > It also does not care if I > rename a field in half my code but forget to > rename it in a few places. > > While there are some solutions to this they are > all fat. Class::Multimethods and Class::Struct > make classes slow and expensive to use. It would > be nice if these features were supported in raw > Perl through something like "use strict". There's Tie::SecureHash. (Disclaimer: I haven't used it, other than tinkering, but enjoyed the lecture at TPC a couple of years ago.) It's model is run with slow, tied, very strict objects during devel and testing; untie for speed at deployment. Have fun, -C. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From humbaba9 at yahoo.com Sat Jun 15 20:28:50 2002 From: humbaba9 at yahoo.com (Meryll Larkin) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Perl PR (warning: groaner) In-Reply-To: Message-ID: <20020616012850.19044.qmail@web12806.mail.yahoo.com> 6/15/02 When I have a brand new for loop, With my dollar signs all acurl, And the warning pager is empty, I enjoy scripting in Perl; Let's browse around though CPAN, Just to give a new class a whirl, Or ppm search the command line, I enjoy coding in Perl; I can parse files and logs for hours, Keeping watch on the system's pace, with regex or split to aid me, ...ignoring or specifying case; Use strict, after she-bang, #! Use cgi to get my $url; or mod_perl, courtesy TMTOWTDI I enjoy programming Perl. ****** Opinion ahead ******* I think it's not so much that empoyers don't value Perl as that in this economy one programming language for any employee is not enough. I think projects (especially large projects) NEED the flexibility of being able to take advantage of the strengths of different languages. Perl is an excellent glue language. But packaging ability and speed (under certain conditions) may make Java a better choice for some pieces of a project. This isn't from my own experience, but second hand: I worked in a Java shop - Java was chosen because of browser platform independence and because the clients buying the product would be less likely to tamper with the code. Perl, by its very nature, encourages tampering (which is one reason why I adore it). I can't imagine that any Sys Admin (particularly on a Unix/Linux platform) would not want Perl in her toolbox - but it wouldn't be the ONLY tool. ******** And that's my 2 cents ****** Meryll --- Chris Kohout wrote: > Like others in this list, I've not found much Perl work in the > Seattle area. .NET and Java seem to be dominating the field. I've > been wondering why. Obviously, it's a Microsoft town, so the rise of > .NET and ASP make sense. But why has Java so eclipsed Perl here? > > Is this due to a lack of good PR for Perl? Seems like the only time > I hear about Perl here is when some company is switching their old > Perl code for a new system. > > Despite the obvious technical goodness of Perl, maybe it's not being > sold enough to corporate management? > > Chris > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your > Email-address > For daily traffic, use spug-list for LIST ; for weekly, > spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: > http://seattleperl.org > __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From sthoenna at efn.org Sun Jun 16 01:08:36 2002 From: sthoenna at efn.org (Yitzchak Scott-Thoennes) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism References: <20020615014753.53064.qmail@web14203.mail.yahoo.com> <20020614202051.A14732@hobart.helvella.org> Message-ID: Colin Meyer wrote: >On Fri, Jun 14, 2002 at 06:47:53PM -0700, Asim Jalis wrote: >> While there are some solutions to this they are >> all fat. Class::Multimethods and Class::Struct >> make classes slow and expensive to use. It would >> be nice if these features were supported in raw >> Perl through something like "use strict". > >There's Tie::SecureHash. (Disclaimer: I haven't used it, other than >tinkering, but enjoyed the lecture at TPC a couple of years ago.) It's >model is run with slow, tied, very strict objects during devel and >testing; untie for speed at deployment. Also, from 5.8.0's perldelta.pod: =head2 Restricted Hashes A restricted hash is restricted to a certain set of keys, no keys outside the set can be added. Also individual keys can be restricted so that the key cannot be deleted and the value cannot be changed. No new syntax is involved: the Hash::Util module is the interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Mon Jun 17 08:12:24 2002 From: tim at consultix-inc.com (SPUG-list-owner) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Local Dot Com Hires SPUG Programmer Message-ID: <20020617061224.A2168@timji.consultix.wa.com> Some of you may remember when I asked if anyone was looking for Perl work in the Seattle area during the Tuesday, May 21st SPUG meeting. Two people expressed interest that night, and one has since been hired. The other probably wasn't hired simply because he did not respond to email or phone messages. We need more top-notch mod_perl coders. The job listing is at . Please contact Gary Gause if you are interested in the position. Part of the screening process will be to take the Text::Forge test. You'll be ahead of the game if you complete this prior to interviewing. --------Text::Forge Test--------- (A) Install your own Text::Forge-enabled mod_perl/Apache Webserver. Installation instructions (in 'Docs') and the download (in 'Files') are available at . (B) Provide a working URL that hits a Text::Forge page that you create. Customize 'test.tf' or create your own. (C) Provide the source for the page you create. --------------------------------- Good luck! -- Adam Monsen - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Mon Jun 17 09:38:23 2002 From: tim at consultix-inc.com (SPUG-list-owner) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: June Meeting: "Damianiacal Mods, Part III" Message-ID: <20020617073823.A2382@timji.consultix.wa.com> SPUGsters, For our June meeting, Tim Maher be talking about the use of Damian's Getopt::Declare module for easy parsing (betcha thought it was limited to command-line argument handling, but it isn't), and the use of Lingua::EN::Inflect to pluralize words where appropriate, and perform other inflections. The meeting announcement is included (way) below. You can participate in this meeting too, by volunteering to talk about the "Damianiacal" modules that you use in your work. Those wishing to get involved please contact tim@teachmeperl.com. Damian's Perl Foundation funding is set to run out this month, so it's important that those who value his contributions to the Perl community step forward and support his work. To help motivate potential donors toward this end, Consultix will be giving away some free seats for Damian's July seminars in Kirkland (covering Perl 6, Adv. OOP, Parsing, and Module Implementation; see http://teachmeperl.com). And if you win a seat and you cannot attend, you'll be allowed to attend one day of any Consultix training class instead. Here's how it works: for every dollar you donate, you get a commensurate number of chances to win a training day with "The Damian", valued at $550. Those attending the meeting should bring their checkbooks along, and those who cannot attend are encouraged to mail their checks (made out to The Perl Foundation) to: Consultix POB 70563 Seattle WA 98107 Please be sure to specify what name (and/or logo) you want to be displayed on the Perl Foundation web site to commemorate your (tax-deductible) contribution. We'll announce the winners on July 4, so those mailing in contributions are encouraged to post them by 7/2. Currently, Matt Bustad is in the lead, with a $40 contribution. -Tim ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== -------------- next part -------------- June 2002 Seattle Perl User's Group Meeting ------------------------------------------------------ Title: "Damianiacal Modules", Part III Speaker: Tim Maher, and possibly other SPUGsters Time: Tuesday, June 18, 2002 7-9pm Location: SAFECO bldg, Brooklyn St. and NE 45th St. Cost: Admission is free and open to the general public. Info: http://seattleperl.org/ Topics: The theme for this meeting, continuing from the previous ones, will be a look at some of the many modules contributed by Damian Conway to the Perl Community (via CPAN). Not coincidentally, those attending these meetings will be told how they can help continue the flow of Damianiacal Modules by contributing to "The Perl Foundation." In addition, Consultix will be raffling off some seats to Damian's corporate July classes (see teachmeperl.com) for those who hand over checks made out to "The Perl Foundation" (no minimum). So please bring your checkbooks along! 8-} Here's a list of Damian's currently released modules, from which you can pick and choose when designing your presentation: Damian's CPAN Modules Acme-Bleach Attribute-Handlers Attribute-Handlers-Prospective Attribute-Types Class-Contract Class-Delegation Class-Multimethods Coy (Covered in April, by Jeremy Kahn) Filter-Simple (Covered in April, by JP Montagne) Getopt-Declare ** TO BE RE-COVERED IN JUNE, by Tim Maher Hook-LexWrap Inline-Files Lingua-EN-Inflect ** TO BE COVERED IN JUNE, by Tim Maher Lingua-Romana-Perligata Parse-RecDescent Perl6-Variables Quantum-Superpositions Regexp-Common Switch Text-Autoformat Text-Balanced Text-Reform Tie-SecureHash The recommended pre-meeting diner is the Cedars restaurant, at 50th St. and Brooklyn, in the University District, near the Safeco building where the meeting will take place. The phone number is 527-5247. If you're planning to be there, please post a message to the list indicating your expected arrival time. As usual, those seeking liquid input are invited to congregate at the Bigtime Brewery and Alehouse, to conduct their preparations before and deliberations after the 7-9pm meeting. See the web-site for more details. ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== From byoung at speakeasy.org Mon Jun 17 13:00:48 2002 From: byoung at speakeasy.org (Bradley E. Young) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: software libertarianism (was: Scope question) In-Reply-To: Message-ID: <001f01c21628$ea060080$5364400a@na.wrq.com> > -----Original Message----- > From: owner-spug-list@pm.org > [mailto:owner-spug-list@pm.org]On Behalf Of > dancerboy > Sent: Friday, June 14, 2002 16:43 > To: spug-list@pm.org > Subject: RE: SPUG: software libertarianism (was: Scope question) > > BTW, it's somewhat unreasonable to complain that a project was killed > by "changing specs". Specs *always* change! Part of one's job as a > developer is to create an architecture that's flexible enough to > accommodate changing specs. Yes, there are reasonable, minor spec > changes and unreasonable, radical spec changes. But part of my point > is that working in a language like Java can make it much more likely > that you'll be able to accommodate even radical spec changes in > large-scale applications. It is however, absolutely reasonable to expect that projects are killed by changing scope. In the consulting work that I've done, I've found scope control to be the largest factor that foretells project outcome, i.e., controlled scope ~= successful project. I don't mean this to necessarily imply causality, but it is a leading indicator. You have yet to outline which specific facilities Java grants that make it more flexible, more adaptable to "radical spec changes". Hopefully, you'll forgive my "Show Me" attitude, but I haven't experienced these massive flexibility enhancements. I have, however, seen some weird stuff in Java. Just off the top of my head: Java sucks at list handling. Yay! 4,750 classes that handle arrays, and each of them contains precisely two (2) methods that you absolutely must have, so you convert like mad from one to the other. (N.B.: the 4,750 is a slight over-exaggeration, but the 2 methods is not an under-exaggeration) Java sucks at structured data handling (LoL and HoH in Perl). Nuff said-- even C-octothorpe puts the pimp-smack on it. Lots of little things, that should be simple, like file handling, aren't. Too many classes to handle the same data types. Constant conversion from one class to the other, often requiring 1 or more intermediate class conversions. Together, all these things (and the ones I haven't listed) provide a -50% productivity increase. > Java is designed to encourage Correct solutions. Most Clever > Shortcuts are difficult or impossible to code in Java. Perl, on the > other hand, is the Clever Shortcut language par excellence. It's > *very* easy to code Clever Shortcuts in Perl. However, Perl is also > reasonably good at Correct solutions as well, *if* the developers > choose to use it that way. I'd like to see a "Correct Solution" to list handling in Java. Har. I especially love that arrays (not the class, just native ones) are not classes, but they do have the class variable length. So much for the papal "Correctness". Comparing the two languages, I'd say that I've seen more bad Java code than I have Perl code. Java continually feels more "hackish" (for the above reasons, e.g., list handling) than Perl to me. > And if you're going to use Perl *as if* it > were Java, then... why not just use Java? Because perl offers better data handling capabilities, and most modern applications are all about manipulating data, or viewing data. I don't feel any need to back Perl's data handling (vs. Java) up, least of all on this list. Brad - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From davidinnes at chicagoscience.com Mon Jun 17 13:12:34 2002 From: davidinnes at chicagoscience.com (David Innes (CSG)) Date: Wed Aug 4 00:08:59 2004 Subject: SPUG: Perl PR In-Reply-To: <000d01c2140c$7db37070$1b280a0a@telgar> Message-ID: Hey, and Perl works great with IIS and ASP! I think most Perl users in the wild live in Linux/Apache but Perl works just fine even after you drink the Microsoft Kool-aid. And I don't know if you've ever sat through an introduction to .NET but so much of it sounds like it was modeled after Perl it can't be coincidence. .NET, like JAVA and other very strict environments, imposes limits that take away some of the flexibility of Perl, and I don't know if ActiveState will have the resources to do the work necessary for a seamless Perl.net port. But in principle Perl should to be a more natural and useful .NET language port than VB! (Hey, where's Matt Sergeant http://www.fastnetltd.ndirect.co.uk/Perl/Articles/PSIntro.html when I need him, again?) -- David Innes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From legrady at earthlink.net Mon Jun 17 14:33:40 2002 From: legrady at earthlink.net (Tom Legrady) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: software libertarianism (was: Scope question) In-Reply-To: <001f01c21628$ea060080$5364400a@na.wrq.com> Message-ID: If we're playing "what's wrong with Java", I'll take my term as the next contestant. Since I got laid off, and need something to pass my time while waiting for jobs to become available, I've been learning Java, to add to my arsenal. 1) Arrays and Collections: You can initialize a collection from another collection, but yoiu can't initialize a collection from an array. // good // Vector myVector = new Vector(); myVector.add( "string 1" ); myVector.add( "string 2" ); ArrayList myArrayList = new ArrayList( myVector ); // not good // String[] myStringArray = new String[] { "string 1", "string2" }; ArrayList myArrayList = new ArrayList( myStringArray ); While collections are in many ways more convenient than arrays, arrays decorate the type of the objects being stored, while collections conceal it. If I write a method which takes a String[], I don't have to worry about someone invoking it with an Integer[], but if my method takes an ArrayList, who knows what type it contains? In certain cases, that's good; since every class implements toString, if I simply want to print something, the ArrayList is more polymorphic. But if I want to do something more specific, I need specific types. 2) Streams, Readers, Writers, Channels: Being able to obtain varying capabilities by wrapping streams and readers around each other is an interesting idea, but figuring out what sequence of IO classes you need to get the desired end result is a challenge. This class only reads into a byte[], that one only processes a char[], the other requires a String. I suppose it isn't so much a language problem as a documentation problem, needing a simple way to know which classes to mix and match for the desired result. 3) Exceptions: Exceptions are wonderful, but their enforcement is pedantic. Since you have to handle exceptions, anyway, it discourages checking conditions. For example, you can verify myFile.exists() && myFile.canRead(), but you still have to handle FileNotFoundException. Further, if you have a return statement within a try block, java complains that the method can exit without a return. Something which REALLY irritates me, but isn't really the fault of Java, but rather of the IDE I use .... When I'm typing in code, Forte helpfully displays a tooltip suggesting completions for the methods which are valid at this point. I love that, especially as a beginner, it means I can spend almost as much time in the IDE as I do browsing the API for the classes and methods I need. The tooltip mentions exceptions which may be thrown. But as soon as the method has been written down, and I'm ready to write the catch line, the tooltip disappears. If I didn't pay enough attention, I have to make the tooltip re-appear, or scan through the API, to determine the correct exception to list. Overall, I would categorize Java as a low-level language, like C & C++, more suitable for implementing libraries and high-level, application-specific languages. Tom Legrady - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From Marc.M.Adkins at Doorways.org Mon Jun 17 14:52:08 2002 From: Marc.M.Adkins at Doorways.org (Marc M. Adkins) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: RE: PerlScript, IIS, and .NET In-Reply-To: Message-ID: > ...Perl works just fine even after you drink the Microsoft Kool-aid. Was this a conscious reference to Jonestown? ;) I don't use PerlScript with IIS (I prefer using Apache, even on Windows), but I have used it to control OLE-enabled applications (Excel, Word, PowerPoint, IE) on a number of occasions. My favorite down'n'dirty "GUI" for a Perl application is to run an HTTP::Daemon loop and present web pages. I have a bit of Perl code that pops up an IE window pointed to my little server when the application starts. It's a welcome alternative to VBA. Just for grins I once wrote an ActiveX control in C++ that was configured to be started by a Perl script and then passed the _same_ Perl script which it started as a PerlEZ session with an argument (a "pointer" to the ActiveX window) to specify a different execution mode. It worked kind of like a fork(), the top script ran the event-handling loop for the control and handled user input and the inner script ran independently and controlled the behavior of the ActiveX control, providing a slide show within the control. And lest we forget, Perl provides an ample replacement for DOS batch language (which is still the command shell for Windows!). I'm aware of DOS/Windows ports of *NIX shells. There are so many...all a bit different...not being primarily a *NIX programmer I lose track of which is which. Plus you have to have all the *NIX software tools to go along with the shell or you can't do a whole lot. But Perl is always Perl and CPAN provides all the tools I need. > And I don't know if you've ever sat through an introduction to .NET but so > much of it sounds like it was modeled after Perl it can't be coincidence. I find it amusing that Parrot and the .NET CLR seem to sit in the same evolutionary niche, one step up from the Java runtime (which doesn't have multiple language support, to my knowledge). I suppose this isn't accidental. I'm privately rooting for Parrot to become the .NET killer somewhere down the road. I'm not sure what aspects of .NET seem modelled after Perl. It's language-independent, so syntax of any particular language (e.g. C#) doesn't really count. .NET is really about the class library and the CLR. But I'm open to convincing, it's an interesting thought. > .NET, like JAVA and other very strict environments, imposes limits that > take away some of the flexibility of Perl, and I don't know if ActiveState > will have the resources to do the work necessary for a seamless Perl.net > port. But in principle Perl should to be a more natural and useful .NET > language port than VB! Except for the distinction between a "method" and a "property." These come from COM/VB and never really corresponded to anything in any other language except some arcane LISP development environments. Remember Symbolics Lisp and Flavors? No? Didn't think so. Too bad, it was cool. The big win with C# is that it is a C-family language which is compatible with COM (and thus the CLR) so it is possible to use a C-like syntax effectively with .NET. Previously the choice was doing it easily and quickly with VB or slowly and painfully with C++. I'm curious about Perl.NET myself. Anyone know anything about it? That might make a good SPUG meeting topic. I don't suppose anyone would drive down from Vancouver and do a presentation just for free beer. I had someone tell me that with Perl.NET you can use .NET threads, with Perl variables accessible from multiple threads, which I disbelieved. But if that were true...it would be a big deal. Certainly regular expression handling is _much_ easier in Perl than in the .NET model, which requires one to use hopelessly convoluted object structures for anything more than a simple match. mma - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From davidinnes at chicagoscience.com Mon Jun 17 17:14:10 2002 From: davidinnes at chicagoscience.com (David Innes (CSG)) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: RE: PerlScript, IIS, and .NET In-Reply-To: Message-ID: > Was this a conscious reference to Jonestown? ;) "Drinking the Microsoft Kool-aid" is a hybrid reference with Jonestown overtones. It's still more appealing than "eating your own dog food" which is where I really think MS went wrong. > Perl provides an ample replacement for DOS batch > language ... Perl is always Perl and CPAN > provides all the tools I need. Yup, with Perl you get all the benefit of the *NIX church and nobody snubs you for not knowing Latin. :-) >I'm not sure what aspects of .NET seem modelled after >Perl. It's language-independent, so syntax of any particular >language (e.g. C#) doesn't really count. .NET is really >about the class library and the CLR. But I'm >open to convincing, it's an interesting thought. I don't remember that much about it except a colleague and I were sitting at a Microsoft Developer Days demo a couple of years ago and the guy kept saying "Unlike C, .NET doesn't stop you from blah blah blah" and we'd say to each other "oh, just like Perl" and then he'd say "unlike VB, .NET gives you blah blah blah" and we'd say "oh, just like Perl' and then someone else would say "unlike Java, .NET doesn't stop you from blah blah blah, and we'd say "oh, just like Perl." We were just glorified script jockies, not real Computer Scientists, and we might both have been fooling ourselves. :-) But it was shortly after we heard Larry and others talk about Perl6 at a Perl Conference in Monterey. >I find it amusing that Parrot and the .NET CLR seem to >sit in the same evolutionary niche, one step up from >the Java runtime (which doesn't have multiple language >support, to my knowledge). I suppose this isn't >accidental. I'm privately rooting for Parrot to >become the .NET killer somewhere down the road. Parrot founders Larry and Guido van Rossum say Parrot will eventually compile to the .NET CLR, but "not yet." As I groused earlier, .NET imposes limits on Perl. According to the Parrot FAQ, "[The CLR and Java] VMs are designed for statically typed languages. That's fine, since Java, C#, and lots of other languages are statically typed. Perl isn't. For a variety of reasons, it means that perl would run more slowly there than on an interpreter geared towards dynamic languages." -- David Innes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From asa.martin at attws.com Mon Jun 17 18:59:21 2002 From: asa.martin at attws.com (Martin, Asa) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: Encoding CGI params Message-ID: <67FC0E2A32D0D31194500008C7CF2E6F05529230@wa-msg09.entp.attws.com> I have a simple CGI program that allows users to search a directory of text files by regular expression. It is using a GET form so when the form is submitted the regular expression gets encoded on the URL line with all the necessary characters replaced with %stuff. I like using CGI.pm because then I don't have to know how this is done. It just works, even with complicated regular expressions. On the search results page, each file that contained that regular expression is presented as a link, and when they click the link, the file is displayed in the browser. I'd like for the searched for string to be highlighted in the window. This works by making the link to view the file something like this: /mysite/cgi-bin/script.cgi?action=view&filename=$filename®ex=$regex Then in script.cgi, I replace everything that matches $regex in red font. However this fails when the $regex contains strange characters or spaces. How do I encode the regex and then use it in the link output? I looked through the CGI.pm module for an encode routine, but it wasn't very clear. It would be great if I could call a CGI routine directly to encode it. Hope this makes sense. Thanks in advance. Asa - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From joneil at cobaltgroup.com Mon Jun 17 19:12:58 2002 From: joneil at cobaltgroup.com (O'neil, Jerome) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: Encoding CGI params Message-ID: Don't use CGI to encode. Use URI::Escape, or the query_form method off of the URI class. See the perldoc for the appropriate documentation. -Jerome -----Original Message----- From: Martin, Asa [mailto:asa.martin@attws.com] Sent: Monday, June 17, 2002 4:59 PM To: spug-list@pm.org Subject: SPUG: Encoding CGI params I have a simple CGI program that allows users to search a directory of text files by regular expression. It is using a GET form so when the form is submitted the regular expression gets encoded on the URL line with all the necessary characters replaced with %stuff. I like using CGI.pm because then I don't have to know how this is done. It just works, even with complicated regular expressions. On the search results page, each file that contained that regular expression is presented as a link, and when they click the link, the file is displayed in the browser. I'd like for the searched for string to be highlighted in the window. This works by making the link to view the file something like this: /mysite/cgi-bin/script.cgi?action=view&filename=$filename®ex=$regex Then in script.cgi, I replace everything that matches $regex in red font. However this fails when the $regex contains strange characters or spaces. How do I encode the regex and then use it in the link output? I looked through the CGI.pm module for an encode routine, but it wasn't very clear. It would be great if I could call a CGI routine directly to encode it. Hope this makes sense. Thanks in advance. Asa - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/archives/spug-list/attachments/20020617/ad38d27e/attachment.htm From joshlanza at hotmail.com Tue Jun 18 21:28:25 2002 From: joshlanza at hotmail.com (Josh Lanza) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression Message-ID: Hi, I need to create a regexp to validate and correct apostrophe characters in sql statements, and I left my Friedl book at home :( Example: $sql = "select * from tbl_1 where field_1 = 'bob's value'"; There is a tick (bob's) that is not escaped (should be bob''s). Is this something I can handle with regular expressions? The idea of crawling this string byte by byte seems a little distasteful ... TIA, Josh _________________________________________________________________ Join the world’s largest e-mail service with MSN Hotmail. http://www.hotmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From Ryan.Parr at wwireless.com Tue Jun 18 23:21:09 2002 From: Ryan.Parr at wwireless.com (Parr, Ryan) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression Message-ID: <6D6F0541E2B1D411A75B0002A513016D028005D7@wacorpml03.wwireless.com> If you're using the DBI package (god I hope you are) then you can do: my $sql = "SELECT * FROM tbl_1 WHERE field_1 = " . $dbh->quote($bobs_value); But the better way to do it ($dbh->quote will also quote numbers) is to use bind variables. my $sth = $dbh->prepare('SELECT * FROM tbl_1 WHERE field_1 = ?'); $sth->execute($bobs_value); This will aid you in many ways, least of which is that you no longer need to waste time with thinking about quoting. It also gives you a performance increase with a single prepared statement handle to use in loops: my $sth = $dbh->prepare('INSERT INTO tbl_1 VALUES (NULL,?)'); foreach my $val (@vals) { $sth->execute($val); } Also, some databases will actually cache the prepared query for use down the line. I don't know the technical specifics, I just know that this is a very good thing for your efficiency. -- Ryan Parr Common sense is the collection of prejudices acquired by age eighteen. -- Albert Einstein -----Original Message----- From: Josh Lanza [mailto:joshlanza@hotmail.com] Sent: Tuesday, June 18, 2002 7:28 PM To: spug-list@pm.org Subject: SPUG: SQL syntax Regular Expression Hi, I need to create a regexp to validate and correct apostrophe characters in sql statements, and I left my Friedl book at home :( Example: $sql = "select * from tbl_1 where field_1 = 'bob's value'"; There is a tick (bob's) that is not escaped (should be bob''s). Is this something I can handle with regular expressions? The idea of crawling this string byte by byte seems a little distasteful ... TIA, Josh _________________________________________________________________ Join the world's largest e-mail service with MSN Hotmail. http://www.hotmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From creede at penguinsinthenight.com Tue Jun 18 23:35:31 2002 From: creede at penguinsinthenight.com (Creede Lambard) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression In-Reply-To: Message-ID: You might be able to get around this by using DBI: use DBI; my $dbh = DBI->connect('my_db', $username, $auth); my $sth = $dbh->prepare("select * from tbl_1 where field_1 = ?"); $sth->execute("bob's value"); and so on. If you're in a position where you CAN'T use DBI you might be able to do something like my $name = "bob's value"; $name = normalize($name); my $sql = "select * from tbl_1 where field_1 = '$name'"; sub normalize { my $word = shift; $word =~ s/'/''/g; return $word; } You want the 'g' in there just in case your parameter has more than one apostrophe ("O'Brien's Deli"). Others more wise in the way of SQL might be able to say whether there are other ramifications you need to be aware of. On Wed, 19 Jun 2002, Josh Lanza wrote: > Hi, > > I need to create a regexp to validate and correct apostrophe characters > in sql statements, and I left my Friedl book at home :( > > Example: > > $sql = "select * from tbl_1 where field_1 = 'bob's value'"; > > There is a tick (bob's) that is not escaped (should be bob''s). > > Is this something I can handle with regular expressions? The idea of > crawling this string byte by byte seems a little distasteful ... > > TIA, Josh > > _________________________________________________________________ > Join the world?s largest e-mail service with MSN Hotmail. > http://www.hotmail.com > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > -- * .~. `( --------------------------------------------------------- ` / V \ . Creede Lambard : Never rush a miracle man. /( )\ creede@penguinsinthenight.com : You get rotten miracles. ^^-^^ --------------------------------------------------------- Perl Programmer and Linux Sysadmin, reasonable rates. Inquire within. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From ben at reser.org Wed Jun 19 00:08:05 2002 From: ben at reser.org (Ben Reser) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression In-Reply-To: <6D6F0541E2B1D411A75B0002A513016D028005D7@wacorpml03.wwireless.com> References: <6D6F0541E2B1D411A75B0002A513016D028005D7@wacorpml03.wwireless.com> Message-ID: <20020619050805.GJ26433@titanium.brain.org> On Tue, Jun 18, 2002 at 09:21:09PM -0700, Parr, Ryan wrote: > Also, some databases will actually cache the prepared query for use down the > line. I don't know the technical specifics, I just know that this is a very > good thing for your efficiency. Basically if you don't use prepare with the place holders Oracle (one I just happen to know something about) will cache the statement with the literal data. If you do use prepare with the place holders it will cache just the statement with the place holders. What it cache's is the "plan" to get the information you requested. Apparently this significantly speeds up your queries, though I've never benchmarked it. Finally it keeps the DBA from getting cranky at you for having a bunch of garbage in your query cache. :) On top of all this I wrote a Apache module to do authentication via Oracle many moons ago. Last year a bunch of these modules that did similar things (include some other Oracle authentication modules that were written by some people in Russia) were found to have horrible security problems because they weren't properly quoting their parameters. Because I used the OCI (Oracle Call Interface, i.e. their C library) equivalent to prepare with the placeholders in DBI, my implementation wasn't vulnerable. So all around it's a great idea to never use quote and always use prepare with placeholders. -- Ben Reser http://ben.reser.org We tend to see all wars through the lens of the current conflict, and we mine history for lessons convenient to the present purpose. - Brian Hayes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From creede at penguinsinthenight.com Wed Jun 19 08:53:08 2002 From: creede at penguinsinthenight.com (Creede Lambard) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression In-Reply-To: <20020619050805.GJ26433@titanium.brain.org> Message-ID: On Tue, 18 Jun 2002, Ben Reser wrote: > So all around it's a great idea to never use quote and always use > prepare with placeholders. > Actually, where I work the DBAs REQUIRE that you use variable replacement in database queries. When you do as many queries as we do, anything you can do to lessen the server load and speed up your queries is a Good Thing(tm). -- * .~. `( --------------------------------------------------------------- ` / V \ . Creede Lambard : The truth is out there, if only /( )\ creede@penguinsinthenight.com : you can find its URL. ^^-^^ --------------------------------------------------------------- Perl Programmer and Linux Sysadmin, reasonable rates. Inquire within. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Wed Jun 19 11:36:00 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: TPJ on CD-ROM Message-ID: <20020619093600.A10537@timji.consultix.wa.com> SPUGsters, In case you didn't know, you can now order back issues of The Perl Journal (1996-2001) along with back issues of Sys Admin (1992-2001) on one CD-ROM for $49.95 plus about $5 for shipping. See http://www.sysadminmag.com/extra/cd_order.htm -Tim *==============================================================================* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | | JULY 8-11: OO Perl Fundamentals; JULY 29-31: Database Prog. with Perl | *- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * | NEW Seminar Series! "DAMIAN CONWAY's Adv. Perl Workshop"; Seattle 7/15-19 | | Adv. OOP * Adv. Module Techniques * Programming Perl 6 * Text Parsing | *==============================================================================* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Wed Jun 19 11:39:21 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: Latest Damianiacal Modules Message-ID: <20020619093921.A10567@timji.consultix.wa.com> SPUGsters, As a follow-up to last night's talk, I said I'd post the links that provide the new module versions. The latest (not-yet-published-on-CPAN) versions of Getopt::Declare and Lingua::EN::Inflect, featuring recent improvements, are respectively available from these links: www.csse.monash.edu.au/~damian/CPAN/Lingua-EN-Inflect.tar.gz www.csse.monash.edu.au/~damian/CPAN/Getopt-Declare.tar.gz They haven't yet been uploaded to the CPAN, but will be at some future point (probably after a few more changes have been incorporated). -Tim *==============================================================================* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | | JULY 8-11: OO Perl Fundamentals; JULY 29-31: Database Prog. with Perl | *- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * | NEW Seminar Series! "DAMIAN CONWAY's Adv. Perl Workshop"; Seattle 7/15-19 | | Adv. OOP * Adv. Module Techniques * Programming Perl 6 * Text Parsing | *==============================================================================* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From creede at penguinsinthenight.com Wed Jun 19 13:00:55 2002 From: creede at penguinsinthenight.com (Creede Lambard) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: TPJ on CD-ROM In-Reply-To: <20020619093600.A10537@timji.consultix.wa.com> Message-ID: On Wed, 19 Jun 2002, Tim Maher wrote: > SPUGsters, > > In case you didn't know, you can now order back issues of The Perl > Journal (1996-2001) along with back issues of Sys Admin (1992-2001) > on one CD-ROM for $49.95 plus about $5 for shipping. See > http://www.sysadminmag.com/extra/cd_order.htm > > -Tim > Yes, but are we ever going to see CURRENT issues of TPJ again? :( I even miss the annual Obfuscated Perl Contest, though I don't miss the therapist's fees. -- * .~. `( ---------------------------------------------------------------- ` / V \ . Creede Lambard : Just who is this General Failure /( )\ creede@penguinsinthenight.com : and why is he reading my disk? ^^-^^ ---------------------------------------------------------------- Perl Programmer and Linux Sysadmin, reasonable rates. Inquire within. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From cmeyer at helvella.org Wed Jun 19 13:33:07 2002 From: cmeyer at helvella.org (Colin Meyer) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: TPJ on CD-ROM In-Reply-To: ; from creede@penguinsinthenight.com on Wed, Jun 19, 2002 at 11:00:55AM -0700 References: <20020619093600.A10537@timji.consultix.wa.com> Message-ID: <20020619113307.A23541@hobart.helvella.org> On Wed, Jun 19, 2002 at 11:00:55AM -0700, Creede Lambard wrote: > > Yes, but are we ever going to see CURRENT issues of TPJ again? :( I'm told that they are occasionally buried somewhere within SysAdmin magazine. > > I even miss the annual Obfuscated Perl Contest, though I don't miss the > therapist's fees. For those interested in spending more on Perl related therapy, there's http://perlgolf.sf.net and its related mailing list. ;-) Have fun, -C. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From joshlanza at hotmail.com Wed Jun 19 13:59:52 2002 From: joshlanza at hotmail.com (Josh Lanza) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression Message-ID: It's actually the sql WHERE clause that comes in to this process and I need to do some validation on that string. So the string would come in like this: $sql = "title = 'fred's title' "; I need handle that string, and escape the tick in "fred's". What I want to get at here is how to handle delimiters with regular expressions. The same thing applies with markup parsing - I know there are modules written to do this kind of work, but I'd like to know how, for instance, to parse an HTML document and determine if a block of HTML is commented out. I can see how this is done with byte by byte parsing, but how is it done with regular expressions? Example html doc: ... ... When parsing this document, I could find the "a" tag with something like (but more sophisticated than) /]+>/ig However, I wouldn't know if the link were commented out. Is there a way to do this with regular expressions? >From: Creede Lambard >Reply-To: creede@penguinsinthenight.com >To: Josh Lanza >CC: spug-list@pm.org >Subject: Re: SPUG: SQL syntax Regular Expression >Date: Tue, 18 Jun 2002 21:35:31 -0700 (PDT) > >You might be able to get around this by using DBI: > > use DBI; > my $dbh = DBI->connect('my_db', $username, $auth); > my $sth = $dbh->prepare("select * from tbl_1 where field_1 = ?"); > $sth->execute("bob's value"); > >and so on. > >If you're in a position where you CAN'T use DBI you might be able to do >something >like > > my $name = "bob's value"; > $name = normalize($name); > my $sql = "select * from tbl_1 where field_1 = '$name'"; > > sub normalize { my $word = shift; $word =~ s/'/''/g; return $word; } > >You want the 'g' in there just in case your parameter has more than one >apostrophe ("O'Brien's Deli"). Others more wise in the way of SQL might be >able to say whether there are other ramifications you need to be aware of. > >On Wed, 19 Jun 2002, Josh Lanza wrote: > > > Hi, > > > > I need to create a regexp to validate and correct apostrophe characters > > in sql statements, and I left my Friedl book at home :( > > > > Example: > > > > $sql = "select * from tbl_1 where field_1 = 'bob's value'"; > > > > There is a tick (bob's) that is not escaped (should be bob''s). > > > > Is this something I can handle with regular expressions? The idea of > > crawling this string byte by byte seems a little distasteful ... > > > > TIA, Josh > > > > _________________________________________________________________ > > Join the world’s largest e-mail service with MSN Hotmail. > > http://www.hotmail.com > > > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >- > > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > > Replace ACTION by subscribe or unsubscribe, EMAIL by your >Email-address > > For daily traffic, use spug-list for LIST ; for weekly, >spug-list-digest > > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > > > > >-- > * .~. `( --------------------------------------------------------- >` / V \ . Creede Lambard : Never rush a miracle man. > /( )\ creede@penguinsinthenight.com : You get rotten miracles. > ^^-^^ --------------------------------------------------------- > >Perl Programmer and Linux Sysadmin, reasonable rates. Inquire within. > _________________________________________________________________ Send and receive Hotmail on your mobile device: http://mobile.msn.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From ben at reser.org Wed Jun 19 15:49:30 2002 From: ben at reser.org (Ben Reser) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression In-Reply-To: References: Message-ID: <20020619204930.GT26433@titanium.brain.org> On Wed, Jun 19, 2002 at 06:59:52PM +0000, Josh Lanza wrote: > What I want to get at here is how to handle delimiters with regular > expressions. The same thing applies with markup parsing - I know there are > modules written to do this kind of work, but I'd like to know how, for > instance, to parse an HTML document and determine if a block of HTML is > commented out. I can see how this is done with byte by byte parsing, but > how is it done with regular expressions? Why don't you just install one of those modules and look at it's source? -- Ben Reser http://ben.reser.org We tend to see all wars through the lens of the current conflict, and we mine history for lessons convenient to the present purpose. - Brian Hayes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From humbaba9 at yahoo.com Wed Jun 19 18:58:31 2002 From: humbaba9 at yahoo.com (Meryll Larkin) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression In-Reply-To: Message-ID: <20020619235831.4780.qmail@web12805.mail.yahoo.com> 6/19/02 Hi Josh, Here's some Regex that might be helpful: $` (dollarsign backtick) captures the string that matches before the Regex $' captures after the Regex \Q escapes special characters and makes the Regex treat them literally until it reaches a \E print "testing comments\n"; my $string = qq| ... Some stuff here Other stuff here Link ... |; my $start= ""; if ( $string =~ /$start/ ) { print "string $string contains $start\n"; $string =~ s/\Q$start\E.*?\Q$end\E//g; print "new string is $string\n"; } else { print "$start not found\n"; } I hope this puts you on the right track. Meryll Larkin --- Josh Lanza wrote: > It's actually the sql WHERE clause that comes in to this process and > I need > to do some validation on that string. So the string would come in > like this: > > $sql = "title = 'fred's title' "; > > I need handle that string, and escape the tick in "fred's". > > What I want to get at here is how to handle delimiters with regular > expressions. The same thing applies with markup parsing - I know > there are > modules written to do this kind of work, but I'd like to know how, > for > instance, to parse an HTML document and determine if a block of HTML > is > commented out. I can see how this is done with byte by byte parsing, > but how > is it done with regular expressions? > > Example html doc: > > > ... > > > > ... > > > > When parsing this document, I could find the "a" tag with something > like > (but more sophisticated than) > > /]+>/ig > > However, I wouldn't know if the link were commented out. Is there a > way to > do this with regular expressions? > > > > >From: Creede Lambard > >Reply-To: creede@penguinsinthenight.com > >To: Josh Lanza > >CC: spug-list@pm.org > >Subject: Re: SPUG: SQL syntax Regular Expression > >Date: Tue, 18 Jun 2002 21:35:31 -0700 (PDT) > > > >You might be able to get around this by using DBI: > > > > use DBI; > > my $dbh = DBI->connect('my_db', $username, $auth); > > my $sth = $dbh->prepare("select * from tbl_1 where field_1 = ?"); > > $sth->execute("bob's value"); > > > >and so on. > > > >If you're in a position where you CAN'T use DBI you might be able to > do > >something > >like > > > > my $name = "bob's value"; > > $name = normalize($name); > > my $sql = "select * from tbl_1 where field_1 = '$name'"; > > > > sub normalize { my $word = shift; $word =~ s/'/''/g; return > $word; } > > > >You want the 'g' in there just in case your parameter has more than > one > >apostrophe ("O'Brien's Deli"). Others more wise in the way of SQL > might be > >able to say whether there are other ramifications you need to be > aware of. > > > >On Wed, 19 Jun 2002, Josh Lanza wrote: > > > > > Hi, > > > > > > I need to create a regexp to validate and correct apostrophe > characters > > > in sql statements, and I left my Friedl book at home :( > > > > > > Example: > > > > > > $sql = "select * from tbl_1 where field_1 = 'bob's value'"; > > > > > > There is a tick (bob's) that is not escaped (should be bob''s). > > > > > > Is this something I can handle with regular expressions? The idea > of > > > crawling this string byte by byte seems a little distasteful ... > > > > > > TIA, Josh > > > > > > _________________________________________________________________ > > > Join the world’s largest e-mail service with MSN Hotmail. > > > http://www.hotmail.com > > > > > > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - > >- > > > POST TO: spug-list@pm.org PROBLEMS: > owner-spug-list@pm.org > > > Subscriptions; Email to majordomo@pm.org: ACTION LIST > EMAIL > > > Replace ACTION by subscribe or unsubscribe, EMAIL by your > >Email-address > > > For daily traffic, use spug-list for LIST ; for weekly, > >spug-list-digest > > > Seattle Perl Users Group (SPUG) Home Page: > http://seattleperl.org > > > > > > > > > >-- > > * .~. `( > --------------------------------------------------------- > >` / V \ . Creede Lambard : Never rush a miracle man. > > /( )\ creede@penguinsinthenight.com : You get rotten > miracles. > > ^^-^^ > --------------------------------------------------------- > > > >Perl Programmer and Linux Sysadmin, reasonable rates. Inquire > within. > > > > > > > _________________________________________________________________ > Send and receive Hotmail on your mobile device: http://mobile.msn.com > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your > Email-address > For daily traffic, use spug-list for LIST ; for weekly, > spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: > http://seattleperl.org > __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From lists at dansanderson.com Wed Jun 19 19:21:17 2002 From: lists at dansanderson.com (Dan Sanderson) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression In-Reply-To: <20020619235831.4780.qmail@web12805.mail.yahoo.com> Message-ID: This may or may not be worth mentioning in this particular case, but since I learned this lesson the hard way, I feel like mentioning it every time I see $` and $' (and $&) mentioned. From camel, 24.2.1: Avoid $& and its two buddies, $` and $'. Any occurrence in your program causes all matches to save the searched string for possible future reference. (However, once you've blown it, it doesn't hurt to have more of them.) Tools are there to be used, but knowing what they do is important, especially in non-intuitive cases. I once used $` and $' while parsing through a stream of data, and didn't notice their drawbacks on small sets of data. When larger sets of real world data came in, the script got jaw-droppingly slow. I don't think I could ever use them again, even when appropriate. -- Dan On Wed, 19 Jun 2002, Meryll Larkin wrote: > 6/19/02 > > Hi Josh, > > Here's some Regex that might be helpful: > $` (dollarsign backtick) captures the string that matches before the > Regex > $' captures after the Regex > \Q escapes special characters and makes the Regex treat them literally > until it reaches a \E > > print "testing comments\n"; > > my $string = qq| > > ... > > Some stuff here > > Other stuff here > > Link > > > ... > > > |; > > my $start= ""; > > if ( $string =~ /$start/ ) { > > print "string $string contains $start\n"; > $string =~ s/\Q$start\E.*?\Q$end\E//g; > print "new string is $string\n"; > > } else { > > print "$start not found\n"; > > } > > I hope this puts you on the right track. > > Meryll Larkin > > > > > > --- Josh Lanza wrote: > > It's actually the sql WHERE clause that comes in to this process and > > I need > > to do some validation on that string. So the string would come in > > like this: > > > > $sql = "title = 'fred's title' "; > > > > I need handle that string, and escape the tick in "fred's". > > > > What I want to get at here is how to handle delimiters with regular > > expressions. The same thing applies with markup parsing - I know > > there are > > modules written to do this kind of work, but I'd like to know how, > > for > > instance, to parse an HTML document and determine if a block of HTML > > is > > commented out. I can see how this is done with byte by byte parsing, > > but how > > is it done with regular expressions? > > > > Example html doc: > > > > > > ... > > > > > > > > ... > > > > > > > > When parsing this document, I could find the "a" tag with something > > like > > (but more sophisticated than) > > > > /]+>/ig > > > > However, I wouldn't know if the link were commented out. Is there a > > way to > > do this with regular expressions? > > > > > > > > >From: Creede Lambard > > >Reply-To: creede@penguinsinthenight.com > > >To: Josh Lanza > > >CC: spug-list@pm.org > > >Subject: Re: SPUG: SQL syntax Regular Expression > > >Date: Tue, 18 Jun 2002 21:35:31 -0700 (PDT) > > > > > >You might be able to get around this by using DBI: > > > > > > use DBI; > > > my $dbh = DBI->connect('my_db', $username, $auth); > > > my $sth = $dbh->prepare("select * from tbl_1 where field_1 = ?"); > > > $sth->execute("bob's value"); > > > > > >and so on. > > > > > >If you're in a position where you CAN'T use DBI you might be able to > > do > > >something > > >like > > > > > > my $name = "bob's value"; > > > $name = normalize($name); > > > my $sql = "select * from tbl_1 where field_1 = '$name'"; > > > > > > sub normalize { my $word = shift; $word =~ s/'/''/g; return > > $word; } > > > > > >You want the 'g' in there just in case your parameter has more than > > one > > >apostrophe ("O'Brien's Deli"). Others more wise in the way of SQL > > might be > > >able to say whether there are other ramifications you need to be > > aware of. > > > > > >On Wed, 19 Jun 2002, Josh Lanza wrote: > > > > > > > Hi, > > > > > > > > I need to create a regexp to validate and correct apostrophe > > characters > > > > in sql statements, and I left my Friedl book at home :( > > > > > > > > Example: > > > > > > > > $sql = "select * from tbl_1 where field_1 = 'bob's value'"; > > > > > > > > There is a tick (bob's) that is not escaped (should be bob''s). > > > > > > > > Is this something I can handle with regular expressions? The idea > > of > > > > crawling this string byte by byte seems a little distasteful ... > > > > > > > > TIA, Josh > > > > > > > > _________________________________________________________________ > > > > Join the world?s largest e-mail service with MSN Hotmail. > > > > http://www.hotmail.com > > > > > > > > > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > > - - - - > > >- > > > > POST TO: spug-list@pm.org PROBLEMS: > > owner-spug-list@pm.org > > > > Subscriptions; Email to majordomo@pm.org: ACTION LIST > > EMAIL > > > > Replace ACTION by subscribe or unsubscribe, EMAIL by your > > >Email-address > > > > For daily traffic, use spug-list for LIST ; for weekly, > > >spug-list-digest > > > > Seattle Perl Users Group (SPUG) Home Page: > > http://seattleperl.org > > > > > > > > > > > > > >-- > > > * .~. `( > > --------------------------------------------------------- > > >` / V \ . Creede Lambard : Never rush a miracle man. > > > /( )\ creede@penguinsinthenight.com : You get rotten > > miracles. > > > ^^-^^ > > --------------------------------------------------------- > > > > > >Perl Programmer and Linux Sysadmin, reasonable rates. Inquire > > within. > > > > > > > > > > > > > _________________________________________________________________ > > Send and receive Hotmail on your mobile device: http://mobile.msn.com > > > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > > - - - > > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > > Replace ACTION by subscribe or unsubscribe, EMAIL by your > > Email-address > > For daily traffic, use spug-list for LIST ; for weekly, > > spug-list-digest > > Seattle Perl Users Group (SPUG) Home Page: > > http://seattleperl.org > > > > > __________________________________________________ > Do You Yahoo!? > Yahoo! - Official partner of 2002 FIFA World Cup > http://fifaworldcup.yahoo.com > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From cmeyer at helvella.org Wed Jun 19 19:34:20 2002 From: cmeyer at helvella.org (Colin Meyer) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression In-Reply-To: ; from lists@dansanderson.com on Thu, Jun 20, 2002 at 12:21:17AM +0000 References: <20020619235831.4780.qmail@web12805.mail.yahoo.com> Message-ID: <20020619173420.B24038@hobart.helvella.org> On Thu, Jun 20, 2002 at 12:21:17AM +0000, Dan Sanderson wrote: > > This may or may not be worth mentioning in this particular case, but since > I learned this lesson the hard way, I feel like mentioning it every time I > see $` and $' (and $&) mentioned. From camel, 24.2.1: > > Avoid $& and its two buddies, $` and $'. Any occurrence in your program > causes all matches to save the searched string for possible future > reference. (However, once you've blown it, it doesn't hurt to have more > of them.) >From perldoc perlre: As of 5.005, $& is not so costly as the other two. Have fun, -C. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From humbaba9 at yahoo.com Wed Jun 19 19:41:56 2002 From: humbaba9 at yahoo.com (Meryll Larkin) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression take 2 Message-ID: <20020620004156.67154.qmail@web12803.mail.yahoo.com> 6/19/02 Let me try that again: $string =~ s/\Q$start\E.*?\Q$end\E//g; will work, provided the comment begins and ends all on one line. This is a better Regex and will handle comments that stretch to multiple lines: $string =~ s/\Q$start\E([\S\s])*?\Q$end\E//g; Meryll --- Meryll Larkin wrote: > 6/19/02 > > Hi Josh, > > Here's some Regex that might be helpful: > $` (dollarsign backtick) captures the string that matches before the > Regex > $' captures after the Regex > \Q escapes special characters and makes the Regex treat them > literally > until it reaches a \E > > print "testing comments\n"; > > my $string = qq| > > ... > > Some stuff here > > Other stuff here > > Link > > > ... > > > |; > > my $start= ""; > > if ( $string =~ /$start/ ) { > > print "string $string contains $start\n"; > $string =~ s/\Q$start\E.*?\Q$end\E//g; > print "new string is $string\n"; > > } else { > > print "$start not found\n"; > > } > > I hope this puts you on the right track. > > Meryll Larkin > > > > > > --- Josh Lanza wrote: > > It's actually the sql WHERE clause that comes in to this process > and > > I need > > to do some validation on that string. So the string would come in > > like this: > > > > $sql = "title = 'fred's title' "; > > > > I need handle that string, and escape the tick in "fred's". > > > > What I want to get at here is how to handle delimiters with regular > > > expressions. The same thing applies with markup parsing - I know > > there are > > modules written to do this kind of work, but I'd like to know how, > > for > > instance, to parse an HTML document and determine if a block of > HTML > > is > > commented out. I can see how this is done with byte by byte > parsing, > > but how > > is it done with regular expressions? > > > > Example html doc: > > > > > > ... > > > > > > > > ... > > > > > > > > When parsing this document, I could find the "a" tag with something > > like > > (but more sophisticated than) > > > > /]+>/ig > > > > However, I wouldn't know if the link were commented out. Is there a > > way to > > do this with regular expressions? > > > > > > > > >From: Creede Lambard > > >Reply-To: creede@penguinsinthenight.com > > >To: Josh Lanza > > >CC: spug-list@pm.org > > >Subject: Re: SPUG: SQL syntax Regular Expression > > >Date: Tue, 18 Jun 2002 21:35:31 -0700 (PDT) > > > > > >You might be able to get around this by using DBI: > > > > > > use DBI; > > > my $dbh = DBI->connect('my_db', $username, $auth); > > > my $sth = $dbh->prepare("select * from tbl_1 where field_1 = > ?"); > > > $sth->execute("bob's value"); > > > > > >and so on. > > > > > >If you're in a position where you CAN'T use DBI you might be able > to > > do > > >something > > >like > > > > > > my $name = "bob's value"; > > > $name = normalize($name); > > > my $sql = "select * from tbl_1 where field_1 = '$name'"; > > > > > > sub normalize { my $word = shift; $word =~ s/'/''/g; return > > $word; } > > > > > >You want the 'g' in there just in case your parameter has more > than > > one > > >apostrophe ("O'Brien's Deli"). Others more wise in the way of SQL > > might be > > >able to say whether there are other ramifications you need to be > > aware of. > > > > > >On Wed, 19 Jun 2002, Josh Lanza wrote: > > > > > > > Hi, > > > > > > > > I need to create a regexp to validate and correct apostrophe > > characters > > > > in sql statements, and I left my Friedl book at home :( > > > > > > > > Example: > > > > > > > > $sql = "select * from tbl_1 where field_1 = 'bob's value'"; > > > > > > > > There is a tick (bob's) that is not escaped (should be bob''s). > > > > > > > > Is this something I can handle with regular expressions? The > idea > > of > > > > crawling this string byte by byte seems a little distasteful > ... > > > > > > > > TIA, Josh > > > > > > > > > _________________________________________________________________ > > > > Join the world’s largest e-mail service with MSN Hotmail. > > > > http://www.hotmail.com > > > > > > > > > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - > > - - - - > > >- > > > > POST TO: spug-list@pm.org PROBLEMS: > > owner-spug-list@pm.org > > > > Subscriptions; Email to majordomo@pm.org: ACTION LIST > > EMAIL > > > > Replace ACTION by subscribe or unsubscribe, EMAIL by your > > >Email-address > > > > For daily traffic, use spug-list for LIST ; for weekly, > > >spug-list-digest > > > > Seattle Perl Users Group (SPUG) Home Page: > > http://seattleperl.org > > > > > > > > > > > > > >-- > > > * .~. `( > > --------------------------------------------------------- > > >` / V \ . Creede Lambard : Never rush a miracle > man. > > > /( )\ creede@penguinsinthenight.com : You get rotten > > miracles. > > > ^^-^^ > > --------------------------------------------------------- > > > > > >Perl Programmer and Linux Sysadmin, reasonable rates. Inquire > > within. > > > > > > > > > > > > === message truncated === __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Thu Jun 20 11:15:05 2002 From: tim at consultix-inc.com (SPUG-list-owner) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression In-Reply-To: References: <20020619235831.4780.qmail@web12805.mail.yahoo.com> Message-ID: <20020620091505.A13567@timji.consultix.wa.com> On Thu, Jun 20, 2002 at 12:21:17AM +0000, Dan Sanderson wrote: > > This may or may not be worth mentioning in this particular case, but since > I learned this lesson the hard way, I feel like mentioning it every time I > see $` and $' (and $&) mentioned. From camel, 24.2.1: > > Avoid $& and its two buddies, $` and $'. Any occurrence in your program > causes all matches to save the searched string for possible future > reference. (However, once you've blown it, it doesn't hurt to have more > of them.) It's page 146 in the 3rd edition, which makes it clear that capturing parens have the same performance hit too, and you hardly see people becoming zealots in their avoidance! Jeffrey Freidl needs to update his "Mastering Regular Expressions" book, which is also scaring innocent Perl programmers away from using $& and friends. I talked to him about this on Christmas Day Y2K (I know, "get a life"), after spending a week failing to document any deleterious effects on performance of $& usage, in connection with research for my "Advanced Pattern Matching" with Perl course. I couldn't measure any substantial performance hit at all, and he said "Yea, after my book was published, they fixed those problems. And by the way, O'Reilly keeps bugging me to update the book, but I don't have time". I've since heard that he might actually be updating the book sometime soon. -Tim *==============================================================================* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | | JULY 8-11: OO Perl Fundamentals; JULY 29-31: Database Prog. with Perl | *- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * | NEW Seminar Series! "DAMIAN CONWAY's Adv. Perl Workshop"; Seattle 7/15-19 | | Adv. OOP * Adv. Module Techniques * Programming Perl 6 * Text Parsing | *==============================================================================* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From jope-spug at jope.net Thu Jun 20 15:35:02 2002 From: jope-spug at jope.net (El JoPe Magnifico) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression In-Reply-To: <20020620091505.A13567@timji.consultix.wa.com> Message-ID: > Jeffrey Freidl needs to update his "Mastering Regular Expressions" book, [...] > I've since heard > that he might actually be updating the book sometime soon. But would it be on current Perl5 regex, or the complete overhaul in Perl6? Still picking my way through the most recent Apocalypse... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Thu Jun 20 16:27:34 2002 From: tim at consultix-inc.com (SPUG-list-owner) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression In-Reply-To: References: <20020620091505.A13567@timji.consultix.wa.com> Message-ID: <20020620142734.A14574@timji.consultix.wa.com> On Thu, Jun 20, 2002 at 01:35:02PM -0700, El JoPe Magnifico wrote: > > Jeffrey Freidl needs to update his "Mastering Regular Expressions" book, > [...] > > I've since heard > > that he might actually be updating the book sometime soon. > > But would it be on current Perl5 regex, or the complete overhaul in Perl6? Yes! 8-} > Still picking my way through the most recent Apocalypse... Yep, it's pretty apocalyptic; apparently enough to make one apoplectic. *==============================================================================* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | | JULY 8-11: OO Perl Fundamentals; JULY 29-31: Database Prog. with Perl | *- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * | NEW Seminar Series! "DAMIAN CONWAY's Adv. Perl Workshop"; Seattle 7/15-19 | | Adv. OOP * Adv. Module Techniques * Programming Perl 6 * Text Parsing | *==============================================================================* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From cmeyer at helvella.org Sat Jun 22 11:34:39 2002 From: cmeyer at helvella.org (Colin Meyer) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: SQL syntax Regular Expression In-Reply-To: <20020620091505.A13567@timji.consultix.wa.com>; from tim@consultix-inc.com on Thu, Jun 20, 2002 at 09:15:05AM -0700 References: <20020619235831.4780.qmail@web12805.mail.yahoo.com> <20020620091505.A13567@timji.consultix.wa.com> Message-ID: <20020622093439.A27862@hobart.helvella.org> Hi Tim, On Thu, Jun 20, 2002 at 09:15:05AM -0700, SPUG-list-owner wrote: > On Thu, Jun 20, 2002 at 12:21:17AM +0000, Dan Sanderson wrote: > > > > This may or may not be worth mentioning in this particular case, but since > > I learned this lesson the hard way, I feel like mentioning it every time I > > see $` and $' (and $&) mentioned. From camel, 24.2.1: > > > > Avoid $& and its two buddies, $` and $'. Any occurrence in your program > > causes all matches to save the searched string for possible future > > reference. (However, once you've blown it, it doesn't hurt to have more > > of them.) > > It's page 146 in the 3rd edition, which makes it clear that capturing > parens have the same performance hit too, and you hardly see people > becoming zealots in their avoidance! The difference is that using $` or $' make *every* regex take the performance hit. Using capturing parens only effect the regex[s] that they appear in. "... if you never use $`, $&, or $', then patterns without capturing parentheses will not be penalized." Have fun, -C. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From stephen.m.baker at intel.com Mon Jun 24 14:07:15 2002 From: stephen.m.baker at intel.com (Baker, Stephen M) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: new member (and learner) w/ ONE quick syntax question Message-ID: <288F9BF66CD9D5118DF400508B68C446020DA606@orsmsx113.jf.intel.com> when using the ternary operator ?, is the syntax: expression ? if_true : if_false; possible to modify so that if_true or if_false are compound expressions?? Stephen Baker Intel Corporation Intern stephen.m.baker@intel.com **************************************************************************** ************** The information contained in this email are the opinions and views of the author(s), and are not on behalf of Intel unless specifically stated. **************************************************************************** ************** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From dcd at tc.fluke.com Mon Jun 24 14:31:28 2002 From: dcd at tc.fluke.com (David Dyck) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: new member (and learner) w/ ONE quick syntax question In-Reply-To: <288F9BF66CD9D5118DF400508B68C446020DA606@orsmsx113.jf.intel.com> Message-ID: Welcome Stephen Try perldoc -f do $ perl -le 'print 1 ? do { print "true" ; 42 } : 0' true 42 On Mon, 24 Jun 2002 at 12:07 -0700, Baker, Stephen M when using the ternary operator ?, is the syntax: > > expression ? if_true : if_false; > > possible to modify so that if_true or if_false are compound > expressions?? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From Marc.M.Adkins at Doorways.org Mon Jun 24 14:59:45 2002 From: Marc.M.Adkins at Doorways.org (Marc M. Adkins) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: new member (and learner) w/ ONE quick syntax question In-Reply-To: <288F9BF66CD9D5118DF400508B68C446020DA606@orsmsx113.jf.intel.com> Message-ID: Not sure what you mean. You can do things like: $boolean ? $alpha : $bool2 ? $bravo : $charlie $boolean ? ($a > $b) : ($c < $d) $boolean ? (func1($b), return) : (func2($c), func3($d)) I'm not real sure on the last one, I think it might be subject to scalar vs. list context, and I wouldn't use it personally. Actually, while I'm quite fond of the ternary operator myself, many programmers (particularly those from non-C/C++/Perl backgrounds) don't understand and/or despise it. Many programming organizations ban it entirely under the assumption that it presents maintenance issues. mma > -----Original Message----- > From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org]On Behalf Of > Baker, Stephen M > Sent: Monday, June 24, 2002 12:07 PM > To: perl mongers (E-mail) > Subject: SPUG: new member (and learner) w/ ONE quick syntax question > > > > > when using the ternary operator ?, is the syntax: > > expression ? if_true : if_false; > > possible to modify so that if_true or if_false are compound > expressions?? > > > > > > > Stephen Baker > Intel Corporation Intern > stephen.m.baker@intel.com > > ****************************************************************** > ********** > ************** > The information contained in this email are the opinions and views of the > author(s), and are not on behalf of Intel unless specifically stated. > ****************************************************************** > ********** > ************** > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From creede at penguinsinthenight.com Mon Jun 24 14:50:47 2002 From: creede at penguinsinthenight.com (Creede Lambard) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: new member (and learner) w/ ONE quick syntax question In-Reply-To: <288F9BF66CD9D5118DF400508B68C446020DA606@orsmsx113.jf.intel.com> Message-ID: On Mon, 24 Jun 2002, Baker, Stephen M wrote: > when using the ternary operator ?, is the syntax: > > expression ? if_true : if_false; > > possible to modify so that if_true or if_false are compound > expressions?? You can if you do it like this: my $x = $expression ? true_sub() : false_sub(); sub true_sub { . . . do stuff . . . . } sub false_sub { . . . do stuff . . . } $x will contain the return value of whichever subroutine runs, which value $you may or may not care about. -- * .~. `( --------------------------------------------------------------- ` / V \ . Creede Lambard : There are no walls or borders; /( )\ creede@penguinsinthenight.com : you don't need windows or gates ^^-^^ --------------------------------------------------------------- Perl Programmer and Linux Sysadmin, reasonable rates. Inquire within. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From dancerboy at strangelight.com Mon Jun 24 14:53:22 2002 From: dancerboy at strangelight.com (dancerboy) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: new member (and learner) w/ ONE quick syntax question In-Reply-To: <288F9BF66CD9D5118DF400508B68C446020DA606@orsmsx113.jf.intel.com> References: <288F9BF66CD9D5118DF400508B68C446020DA606@orsmsx113.jf.intel.com> Message-ID: At 12:07 pm -0700 2002-06-24, Baker, Stephen M wrote: > when using the ternary operator ?, is the syntax: > > expression ? if_true : if_false; > > possible to modify so that if_true or if_false are compound >expressions?? Depends on what exactly you mean by "compound expressions"... but the simple answer is Yes: expression_1 ? ( expression_2, expression_3, expression_4) : ( expression_5, expression_6, expression_7) is a perfectly legal Perl expression. But it's probably a bad idea. If your if_true/ if_false expressions are going to be that complicated, you should *either* replace the ternary operator with an if/else statement, like this: if ( expression ) { if_true; } else { if_false; } *or* you should split your if_true and if_false expressions into separate subroutines, like this: sub if_true { ... do something ... } sub if_false { ... do something else ... } [...] expression ? if_true() : if_false(); This will make your code much more legible. -jason - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From cansubaykan at hotmail.com Mon Jun 24 15:09:17 2002 From: cansubaykan at hotmail.com (Can Subaykan) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: new member (and learner) w/ ONE quick syntax question Message-ID: It seems like you have to jump through some trickery hoops with a 'do' or 'eval' or forcing an evaluation with a symbolic deref, am I overcomplicating it, is there an easier way?: $apples = 15; $oranges = 15; $fruits = 0; $apples == $oranges ? eval {print "they are the same\n"; $fruits = $apples + $oranges} : print "Don't compare apples and oranges\n"; print "I have $fruits fruits in my fruit basket.\n\n"; also works with: $apples == $oranges ? do {print "they are the same\n"; $fruits = $apples + $oranges} : print "Don't compare apples and oranges\n"; and: $apples == $oranges ? ${print "they are the same\n"; $fruits = $apples + $oranges} : print "Don't compare apples and oranges\n"; but not with: $apples == $oranges ? (print "they are the same\n"; $fruits = $apples + $oranges) : print "Don't compare apples and oranges\n"; John. ----Original Message Follows---- From: dancerboy To: "Baker, Stephen M" , "perl mongers (E-mail)" Subject: Re: SPUG: new member (and learner) w/ ONE quick syntax question Date: Mon, 24 Jun 2002 12:53:22 -0700 At 12:07 pm -0700 2002-06-24, Baker, Stephen M wrote: > when using the ternary operator ?, is the syntax: > > expression ? if_true : if_false; > > possible to modify so that if_true or if_false are compound >expressions?? Depends on what exactly you mean by "compound expressions"... but the simple answer is Yes: expression_1 ? ( expression_2, expression_3, expression_4) : ( expression_5, expression_6, expression_7) is a perfectly legal Perl expression. But it's probably a bad idea. If your if_true/ if_false expressions are going to be that complicated, you should *either* replace the ternary operator with an if/else statement, like this: if ( expression ) { if_true; } else { if_false; } *or* you should split your if_true and if_false expressions into separate subroutines, like this: sub if_true { ... do something ... } sub if_false { ... do something else ... } [...] expression ? if_true() : if_false(); This will make your code much more legible. -jason - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Mon Jun 24 19:22:28 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: Anybody going to YAPC tomorrow? Message-ID: <20020624172228.A11188@timji.consultix.wa.com> SPUGsters, Just wondering if anybody might be traveling from Seattle to St. Louis tomorrow, like me, to attend YAPC::NA (http://www.yapc.org/America). I'm on the noon Am. Airlines flight, arriving about 6pm. If anybody else will be on that flight, or arriving at about the same time, let me know, and I'll buy you a drink to go along with the fossilized pretzels! -Tim P.S. I'm giving a half-day tutorial on "Minimal (AWK-ish) Perl", with stiff competition in my time-slot: The Damian, MJD, and Simon Cozens. I'm also doing two Lightning talks, both previewed at SPUG: "Easy Parsing with Getopt::Declare", and "Algorithmic Rhyming with The Name Game". Hope to see some of you there! *==============================================================================* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | | JULY 8-11: OO Perl Fundamentals; JULY 29-31: Database Prog. with Perl | *- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * | NEW Seminar Series! "DAMIAN CONWAY's Adv. Perl Workshop"; Seattle 7/15-19 | | Adv. OOP * Adv. Module Techniques * Programming Perl 6 * Text Parsing | *==============================================================================* ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From stephen.m.baker at intel.com Tue Jun 25 13:42:58 2002 From: stephen.m.baker at intel.com (Baker, Stephen M) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: text modification/formatting Message-ID: <288F9BF66CD9D5118DF400508B68C446020DA60D@orsmsx113.jf.intel.com> What should be used to change the color/size/formatting of standard output? Stephen Baker Office: 253.371.4188 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From david.corcoran at Boeing.COM Tue Jun 25 13:49:55 2002 From: david.corcoran at Boeing.COM (EXT-Corcoran, David) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: text modification/formatting Message-ID: <58B6DA1B98AA9149B13B029976A48BCC088F5CB8@xch-nw-31.nw.nos.boeing.com> To get all my output green, I open an Xwindow with -bg green and then run the script "in" it; I suppose one could do the same for size and formatting as well, although I've never done so myself :-) (sorry, I couldn't resist) > -----Original Message----- > From: Baker, Stephen M [mailto:stephen.m.baker@intel.com] > Sent: Tuesday, June 25, 2002 11:43 AM > To: perl mongers (E-mail) > Subject: SPUG: text modification/formatting > > > > What should be used to change the color/size/formatting > of standard > output? > > Stephen Baker Office: 253.371.4188 > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your > Email-address > For daily traffic, use spug-list for LIST ; for weekly, > spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From david.corcoran at Boeing.COM Tue Jun 25 13:51:53 2002 From: david.corcoran at Boeing.COM (EXT-Corcoran, David) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: text modification/formatting Message-ID: <58B6DA1B98AA9149B13B029976A48BCC088F5CB9@xch-nw-31.nw.nos.boeing.com> On a more serious note, do you mean when STDOUT is directed to a web page i.e. HTML? > -----Original Message----- > From: Baker, Stephen M [mailto:stephen.m.baker@intel.com] > Sent: Tuesday, June 25, 2002 11:43 AM > To: perl mongers (E-mail) > Subject: SPUG: text modification/formatting > > > > What should be used to change the color/size/formatting > of standard > output? > > Stephen Baker Office: 253.371.4188 > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your > Email-address > For daily traffic, use spug-list for LIST ; for weekly, > spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From Ryan.Parr at wwireless.com Tue Jun 25 15:13:31 2002 From: Ryan.Parr at wwireless.com (Parr, Ryan) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: text modification/formatting Message-ID: <6D6F0541E2B1D411A75B0002A513016D028005FB@wacorpml03.wwireless.com> If you're creating your application for a simple console window then just use Term::ANSIColor to do your color/bolding/italicizing escapes. Any other assumptions about your project would only make me feel bad about myself... --Ryan Parr "I hate quotations." -- Ralph Waldo Emerson -----Original Message----- From: Baker, Stephen M [mailto:stephen.m.baker@intel.com] Sent: Tuesday, June 25, 2002 11:43 AM To: perl mongers (E-mail) Subject: SPUG: text modification/formatting What should be used to change the color/size/formatting of standard output? Stephen Baker Office: 253.371.4188 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From humbaba9 at yahoo.com Tue Jun 25 15:24:40 2002 From: humbaba9 at yahoo.com (Meryll Larkin) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: HTML to lc script for testing Message-ID: <20020625202440.29586.qmail@web12803.mail.yahoo.com> 6/25/02 Hi Folks, I wrote a script that opens an HTML page, converts tags from upper case to lower case and writes the altered data to a new file. * The script does not check permissions because it was developed on Windows - so if you want that, you'll have to add it. It leaves javascript untouched. I've tested this script on some pretty complex pages and so far it hasn't failed me, but I'm SURE that if I had a better base of testers that I could find SOMETHING to improve. If you have HTML pages you would like to test this on, the script is here: http://www.alwanza.com/bells/perlscripts/htmlLower.html Any criticisms, suggestions, pointers, etc would be appreciated. Thanks, Meryll __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Wed Jun 26 15:01:58 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: office space to share? Message-ID: I'm looking to share some office space to work on a 10-15 hr/week Perl web development contract that I just started. Having just arrived in town last week, we don't yet have stable living arrangements, much less reasonable internet access. If you have workspace and an internet connection that I can share, please email today, or call my cell phone 732/809-3613. I'll bring whatever's missing (e.g. table, chair, cables, network cards, lamp) to complement what's missing. The scheduling is flexible enough that I could even work 2nd shift or weekends to accomodate your schedule. Because the contract's not a windfall, I'm looking for workspace that's economical, yet still functional, and would want to honor the value that you could provide. I'm looking forward to becoming a more physical (instead of merely lurking digital) participant in the SPUG community Thanks you for your digital hospitality, Michael Wolf P.S. Email replies after today may not get to me until I get good internet access. -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From douglas at slugstone.net Wed Jun 26 16:29:43 2002 From: douglas at slugstone.net (Douglas Kirkland) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: CPAN question. Message-ID: <200206262130.g5QLU1I92306@myvirtualserver.com> I am trying to update or add some perl modules through CPAN. The problem is I do not want to update perl yet. Everytime I want to add another perl module through CPAN, CPAN want to update perl to 5.6.1. I have perl 5.005_03 built for i386-freebsd. Thanks, Douglas - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From bill at celestial.com Wed Jun 26 17:32:37 2002 From: bill at celestial.com (Bill Campbell) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: CPAN question. In-Reply-To: <200206262130.g5QLU1I92306@myvirtualserver.com>; from douglas@slugstone.net on Wed, Jun 26, 2002 at 02:29:43PM -0700 References: <200206262130.g5QLU1I92306@myvirtualserver.com> Message-ID: <20020626153237.A28234@barryg.mi.celestial.com> On Wed, Jun 26, 2002 at 02:29:43PM -0700, Douglas Kirkland wrote: >I am trying to update or add some perl modules through CPAN. The problem is >I do not want to update perl yet. Everytime I want to add another perl >module through CPAN, CPAN want to update perl to 5.6.1. I have perl >5.005_03 built for i386-freebsd. Ignore the CPAN ``suggestion'', and install the modules you want. Bill -- INTERNET: bill@Celestial.COM Bill Campbell; Celestial Software LLC UUCP: camco!bill PO Box 820; 6641 E. Mercer Way FAX: (206) 232-9186 Mercer Island, WA 98040-0820; (206) 236-1676 URL: http://www.celestial.com/ When you have an efficient government, you have a dictatorship. -- Harry Truman - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Wed Jun 26 15:53:02 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: RV site recommendations? Message-ID: Some folks may remember that my previous Seattle arrival was on bicycle. This time, I've gotten bigger -- we're in our RV. It's been our full time home for over a year, but we're looking to get more permanent (i.e. less mobile) living arrangements in the Seattle area after we "get the red out" of our cash flow. In the mean time, we plan to use the RV as our home while we continue the job hunt. Do you have a recommendation for good locations? Some "nice to have" qualities for a site would include: quiet sleeping hours shade green surroundings hot shower internet access (i.e. dial-up, cable, DSL) running water sewer electricity Although much of this is attainable in a trailer park or camp ground, many of the utility constraints can be relaxed in order to spend our final RV days in a less residental setting: house sitting a mansion for a summer-traveling millionaire any kind of night security (construction site, day camp, marina) wooded lot, future site for a log-cabin mansion forest, mansion to the wood nymphs alpine meadow, Momma Nature's ultimate mansion with a view Basically, we're looking for a fun place to live that's economical and has reasonable access (car, bus, bike) to job hunting. To make it fun, and to show our appreciation, there's a cold beer or hot dinner in it for wildly creative ideas, especially if they work out. And you'll have the inner satisfaction of knowing that you've helped keep an aspiring SPUG member from sleeping in the street (in our RV outside my freind's house, where we've worn our welcome thin, and probably violated the local zoning ordinances). Thanks, Michael Wolf P.S. Although poor reception occasionally prevents our cell phone from ringing, we can pick up messages you leave on 732-809-3613. It's probably a more reliable connection until we establish stable internet access. -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From ben at reser.org Wed Jun 26 17:58:31 2002 From: ben at reser.org (Ben Reser) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: CPAN question. In-Reply-To: <200206262130.g5QLU1I92306@myvirtualserver.com> References: <200206262130.g5QLU1I92306@myvirtualserver.com> Message-ID: <20020626225831.GB19760@titanium.brain.org> On Wed, Jun 26, 2002 at 02:29:43PM -0700, Douglas Kirkland wrote: > I am trying to update or add some perl modules through CPAN. The problem is > I do not want to update perl yet. Everytime I want to add another perl > module through CPAN, CPAN want to update perl to 5.6.1. I have perl > 5.005_03 built for i386-freebsd. This is a known bug in the CPAN module itself. Download the latest copy of CPAN itself and install it by hand. Then you should be able to install things via the CPAN module again. -- Ben Reser http://ben.reser.org We tend to see all wars through the lens of the current conflict, and we mine history for lessons convenient to the present purpose. - Brian Hayes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From davidpa at avaya.com Thu Jun 27 14:06:45 2002 From: davidpa at avaya.com (Patterson, David S (Pat)) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: RE: PerlScript, IIS, and .NET Message-ID: <34D5B8848AEDE44ABAED1C52C1F04DC2170300@WA2005AVEXU1.global.avaya.com> Not to stir up any controversy or anything, but here's an article about using perl in .NET: http://builder.com.com/article.jhtml?id=u00220020630adm01.htm&fromtm=e601-4 I'm very interested in learning the .NET technology, because I hated MFC and refused to program MS systems because it was so convoluted (and thats coming from someone who was comfortable with X11 and Motif programming!!) Maybe I won't even bother with the C[add optional punctuation here] variations and just do perl. Thank you Active State! --- "Oh, no. not another learning experience!..." D. S. "Pat" Patterson Software Engineer Avaya, Inc. 6464 185th Ave NE Redmond, WA 98052-6736 425-558-8672 888-425-8727 Pgr davidpa@avaya.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From humbaba9 at yahoo.com Fri Jun 28 01:23:36 2002 From: humbaba9 at yahoo.com (Meryll Larkin) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: GNU is not Microsoft? Message-ID: <20020628062336.15043.qmail@web12804.mail.yahoo.com> 6/28/02 Hi Folks, I'm passing the following along to this list because there has been so much email about .NET recently: ASP.NET Web Matrix is a community-supported, easy-to-use WYSIWYG application development tool for ASP.NET. It can be installed via a quick 1.2 MB download (about 5 minutes using a 56Kb modem). Best of all - it's absolutely free! http://www.asp.net/webmatrix/default.aspx?tabindex=4&tabid=46 Ximian announced the launch of the Mono project, an effort to create an open source implementation of the .NET Development Framework. http://www.go-mono.com/ The goal of this project is to build a suite of free software tools to build and execute .NET applications, including a C# compiler, assembler, disassembler, and runtime engine. The initial target platform is GNU/Linux, with other platforms to follow in the future. http://www.southern-storm.com.au/portable_net.html I'm intrigued by this & think I'll check it out Meryll Larkin (still unemployed) Perl Programmer, Web Developer, mischief-maker __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Sat Jun 29 05:12:39 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: Review of Damian's New Hit Talk, T::S::C Message-ID: <20020629031239.A12604@timji.consultix.wa.com> I've posted my review of Damian's new show-stopper talk, Time::Space::Continuum, which debuted Friday evening at YAPC in St. Louis. It's at http://teachmeperl.com/tsc_review.html. It's another brain-buster, along the lines of Quantum Superpositions. And it's also the very talk he'll be giving us at our 7/16th SPUG meeting! Do we rock or what? 8-} I've also extended the deadline for submitting TPF contributions that qualify for chances to win free training with The Damian to July 5th. See http://teachmeperl.com/apworkshop.html#Raffle for details. Overall, YAPC was great again this year! Washington Univ. is beautiful, the talks were great, and there was the usual primal feeling of belonging to a wacky but wonderful tribe. I presented an expanded version of my Name Game talk in the last slot of the Lightning Rounds, and it was lots of fun. Just picture 300 Perl geeks singing silly verses like the following, or those in the attachment: Let's do INGY! Ingy, Ingy, bo Bingy, Bonana, Fanna, Fo Fingy, Fee, Fi, Mo Mingy INGY! *==============================================================================* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | | JULY 8-11: OO Perl Fundamentals; JULY 29-31: Database Prog. with Perl | *- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * | NEW Seminar Series! "DAMIAN CONWAY's Adv. Perl Workshop"; Seattle 7/15-19 | | Adv. OOP * Adv. Module Techniques * Programming Perl 6 * Text Parsing | *==============================================================================* -------------- next part -------------- Let's do INGY! Ingy, Ingy, bo Bingy, Bonana, Fanna, Fo Fingy, Fee, Fi, Mo Mingy INGY! Let's do URI! Uri, Uri, bo Buri, Bonana, Fanna, Fo Furi, Fee, Fi, Mo Muri URI! Let's do ABIGAIL! Abigail, Abigail, bo Babigail, Bonana, Fanna, Fo Fabigail, Fee, Fi, Mo Mabigail ABIGAIL! Let's do SEAN! Sean, Sean, bo Bean, Bonana, Fanna, Fo Fean, Fee, Fi, Mo Mean SEAN! Let's do CHROOT! Chroot, Chroot, bo Boot, Bonana, Fanna, Fo Foot, Fee, Fi, Mo Moot CHROOT! Let's do CHOMP! Chomp, Chomp, bo Bomp, Bonana, Fanna, Fo Fomp, Fee, Fi, Mo Momp CHOMP! Let's do WANTARRAY! Wantarray, Wantarray, bo Bantarray, Bonana, Fanna, Fo Fantarray, Fee, Fi, Mo Mantarray WANTARRAY! From tim at consultix-inc.com Sun Jun 30 11:06:49 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: YAPC Movie available for download Message-ID: <20020630090649.A15815@timji.consultix.wa.com> SPUGsters, Nat Torkington produced a humorous movie during YAPC, which was presented as the penultimate Lightning Talk. (Okay, I'll admit it, this was a clever scheme by Yours Truly to warm up the audience for my "Name Game" talk). It's called "A Python Programmer learns Perl from the Masters", and it stars Casey West as a befuddled Pythoner trying to make sense out of YAPC and Perl. It features lots of Perl luminaries, but unless you know who they are already, you won't always know who's who, so I'll provide this guide. In order of appearance, the actors are: Jon Orwant, Casey West, Abigail, Elaine Ashton, Jarkko Hietaniemi, Dan Sugalski, Michael Schwern, Simon Cozens, Uri Guttman, Damian Conway, Larry Wall, Mark-Jason Dominus, Nat Torkington, and then Uri again. I guess one could say the movie is sort of a high-tech version of Animal House (and I'll leave you to ponder the question of whether that's necessarily a Good Thing!) It runs about 8 minutes, and you can find it at http://www.perl.org/yapc/2002/movies. There are also sound-only clips of some conference talks at http://www.perl.org/yapc/2002/audio. And someday soon there will be still images at http://www.perl.org/yapc/2002/images. You won't be able to travel backwards in time until Damian's Time::Space::Continuum.pm hits the CPAN, so experiencing YAPC 2002 through frozen media clips is still the next best thing to having been there! -Tim P.S. The new deadline for TPF donations that qualify you for the Free Training with Damian raffle is 7/5 (see teachmeperl.com/apworkshop.html). And there's still room for *paying customers* in all Damian's classes too! *==============================================================================* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | | JULY 8-11: OO Perl Fundamentals; JULY 29-31: Database Prog. with Perl | *- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * | NEW Seminar Series! "DAMIAN CONWAY's Adv. Perl Workshop"; Seattle 7/15-19 | | Adv. OOP * Adv. Module Techniques * Programming Perl 6 * Text Parsing | *==============================================================================* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From asimjalis at yahoo.com Sun Jun 30 20:51:05 2002 From: asimjalis at yahoo.com (Asim Jalis) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: YAPC Movie available for download In-Reply-To: <20020630090649.A15815@timji.consultix.wa.com> Message-ID: <20020701015105.17875.qmail@web14202.mail.yahoo.com> Tim Maher wrote: > You won't be able to travel backwards in time > until Damian's Time::Space::Continuum.pm hits > the CPAN, so experiencing YAPC 2002 through > frozen media clips is still the next best thing > to having been there! Any idea when it will be on CPAN? When it shows up on CPAN could you travel backwards in time and upload it yesterday so that when I looked for it earlier today I found it? Thanks. Asim __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Sun Jun 30 21:01:45 2002 From: tim at consultix-inc.com (SPUG-list-owner) Date: Wed Aug 4 00:09:00 2004 Subject: SPUG: YAPC Movie available for download In-Reply-To: <20020701015105.17875.qmail@web14202.mail.yahoo.com> References: <20020630090649.A15815@timji.consultix.wa.com> <20020701015105.17875.qmail@web14202.mail.yahoo.com> Message-ID: <20020630190145.A16961@timji.consultix.wa.com> On Sun, Jun 30, 2002 at 06:51:05PM -0700, Asim Jalis wrote: > Tim Maher wrote: > > You won't be able to travel backwards in time > > until Damian's Time::Space::Continuum.pm hits > > the CPAN, so experiencing YAPC 2002 through > > frozen media clips is still the next best thing > > to having been there! > > Any idea when it will be on CPAN? When it shows up > on CPAN could you travel backwards in time and > upload it yesterday so that when I looked for it > earlier today I found it? Thanks. That's a good idea, I should go back in time and have it before you did, so we could avoid having this unnecesary conversation. In fact, I just found out that I already did that, so nevermind . . . > > Asim -Tim *==============================================================================* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | | JULY 8-11: OO Perl Fundamentals; JULY 29-31: Database Prog. with Perl | *- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * | NEW Seminar Series! "DAMIAN CONWAY's Adv. Perl Workshop"; Seattle 7/15-19 | | Adv. OOP * Adv. Module Techniques * Programming Perl 6 * Text Parsing | *==============================================================================* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org