From rspier at pobox.com Tue Feb 1 19:15:37 2005 From: rspier at pobox.com (Robert Spier) Date: Tue Feb 1 19:15:49 2005 Subject: [LA.pm] January Meeting and flock question In-Reply-To: References: Message-ID: > What happened to the January Meeting? Nobody suggested a cuisine. > I'm writing a script that requires locking a file before writing to it, > and I decided to check CPAN to see if there are any goodies to take care > of this for me. A search for 'flock' yielded: I would probably just use the flock builtin. See perlfunc. > Anyone have any experience with any of the above, and want to recommend > one? Incidentally, this is why I think a CPAN wiki would be neat. :) Have you seen cpanratings.perl.org? From ofer at netapt.com Tue Feb 1 19:32:08 2005 From: ofer at netapt.com (Ofer Nave) Date: Tue Feb 1 19:32:16 2005 Subject: [LA.pm] January Meeting and flock question In-Reply-To: Message-ID: On Tue, 1 Feb 2005, Robert Spier wrote: > > What happened to the January Meeting? > > Nobody suggested a cuisine. Doh! Was looking forward to it. Still haven't been to a PM meet. > > I'm writing a script that requires locking a file before writing to it, > > and I decided to check CPAN to see if there are any goodies to take care > > of this for me. A search for 'flock' yielded: > > I would probably just use the flock builtin. See perlfunc. I've used it before, but was hoping for something... prettier. :) I settled on IO::LockedFile for now. Seems to work. I'll still use flock if I have to do fancy stuff. > > Anyone have any experience with any of the above, and want to recommend > > one? Incidentally, this is why I think a CPAN wiki would be neat. :) > > Have you seen cpanratings.perl.org? Yes, and it's a great idea, but I think a wiki would be complimentary, not redundant. -ofer From arkadiy at arkadiy.com Tue Feb 1 19:49:34 2005 From: arkadiy at arkadiy.com (Arkadiy) Date: Tue Feb 1 19:49:42 2005 Subject: [LA.pm] January Meeting and flock question In-Reply-To: Message-ID: <20050202034935.27863.qmail@web201.biz.mail.re2.yahoo.com> Indian or Thai sounds good. I drove by, um, Cafe Capri... is that place closed? I couldn't figure in the dark. Ooh! I know, down the street from there (in Silverlakish area) is Casita Del Campo. Great place, not too crowded, they're capable to accommodate a crowd, decent margaritas (by pitcher,) and decent food. Their Mexican meatball soup is to die for and they serve mole. I'd second with Robert and suggest using built-in flock. From rspier at pobox.com Tue Feb 1 20:12:36 2005 From: rspier at pobox.com (Robert Spier) Date: Tue Feb 1 20:12:48 2005 Subject: [LA.pm] January Meeting and flock question In-Reply-To: <20050202034935.27863.qmail@web201.biz.mail.re2.yahoo.com> References: <20050202034935.27863.qmail@web201.biz.mail.re2.yahoo.com> Message-ID: http://losangeles.citysearch.com/profile/52326 Next Tuesday the 8th? 6:30 or 7pm? -R > Ooh! I know, down the street from there (in > Silverlakish area) is Casita Del Campo. Great place, > not too crowded, they're capable to accommodate a > crowd, decent margaritas (by pitcher,) and decent > food. Their Mexican meatball soup is to die for and > they serve mole. > > I'd second with Robert and suggest using built-in > flock. > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm From kevin+lapm at scaldeferri.com Tue Feb 1 20:27:58 2005 From: kevin+lapm at scaldeferri.com (Kevin Scaldeferri) Date: Tue Feb 1 20:28:07 2005 Subject: [LA.pm] January Meeting and flock question In-Reply-To: References: <20050202034935.27863.qmail@web201.biz.mail.re2.yahoo.com> Message-ID: On Feb 1, 2005, at 8:12 PM, Robert Spier wrote: > > http://losangeles.citysearch.com/profile/52326 > > Next Tuesday the 8th? 6:30 or 7pm? > Personally, I'd rather a different day that week. Maybe Monday or Thurs. -kevin From ask at develooper.com Tue Feb 1 21:25:57 2005 From: ask at develooper.com (=?ISO-8859-1?Q?Ask_Bj=F8rn_Hansen?=) Date: Tue Feb 1 21:26:09 2005 Subject: [LA.pm] January Meeting and flock question In-Reply-To: References: <20050202034935.27863.qmail@web201.biz.mail.re2.yahoo.com> Message-ID: <9fd28138f4e7478390937d876bec77c7@develooper.com> On Feb 1, 2005, at 8:12 PM, Robert Spier wrote: I suggest Nicky D's. It's a bit small maybe, but I think we'll fit on a random weekday. http://losangeles.citysearch.com/profile/37045405 Kevin suggested thursday? - ask -- http://www.askbjoernhansen.com/ From cnk at caltech.edu Tue Feb 1 21:33:47 2005 From: cnk at caltech.edu (Cynthia Kiser) Date: Tue Feb 1 21:33:55 2005 Subject: [LA.pm] January Meeting and flock question In-Reply-To: References: <20050202034935.27863.qmail@web201.biz.mail.re2.yahoo.com> Message-ID: <20050202053347.GI5512@sue.caltech.edu> Either restaurant is fine by me. But I would prefer Monday. I'm out of town from Wednesday onwards. -- Cynthia Kiser From arkadiy at arkadiy.com Tue Feb 1 22:14:00 2005 From: arkadiy at arkadiy.com (Arkadiy) Date: Tue Feb 1 22:14:12 2005 Subject: [LA.pm] January Meeting and flock question In-Reply-To: Message-ID: <20050202061400.99267.qmail@web207.biz.mail.re2.yahoo.com> Next Tuesday, 7pm works for me. From ben_tilly at operamail.com Wed Feb 2 21:09:42 2005 From: ben_tilly at operamail.com (Benjamin J. Tilly ) Date: Wed Feb 2 21:09:56 2005 Subject: [LA.pm] January Meeting and flock question Message-ID: <20050203050942.29EDA3AA515@ws5-8.us4.outblaze.com> Unexpectedly, I'm going to be out of town most of next week. I should be available solidly after that. But I wouldn't suggest delaying for me - I'll just have to wait for the meeting following. Cheers, Ben "Robert Spier" wrote: > > http://losangeles.citysearch.com/profile/52326 > > Next Tuesday the 8th? 6:30 or 7pm? > > -R > > > > Ooh! I know, down the street from there (in > > Silverlakish area) is Casita Del Campo. Great place, > > not too crowded, they're capable to accommodate a > > crowd, decent margaritas (by pitcher,) and decent > > food. Their Mexican meatball soup is to die for and > > they serve mole. > > > > I'd second with Robert and suggest using built-in > > flock. > > _______________________________________________ > > Losangeles-pm mailing list > > Losangeles-pm@pm.org > > http://mail.pm.org/mailman/listinfo/losangeles-pm > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm From fred.kleindenst at citigroup.com Thu Feb 3 13:07:30 2005 From: fred.kleindenst at citigroup.com (Kleindenst, Fred) Date: Thu Feb 3 13:09:22 2005 Subject: [LA.pm] January Meeting and flock question Message-ID: <1E6014B28FEE6F43A5F49C6628B7B85E4F64AE@EXNJMB11.nam.nsroot.net> I can make: Next Tuesday the 8th? -- 7pm Cheers --Fred > -----Original Message----- > From: losangeles-pm-bounces@pm.org > [mailto:losangeles-pm-bounces@pm.org]On Behalf Of Benjamin J. Tilly > Sent: Wednesday, February 02, 2005 9:10 PM > To: Robert Spier; losangeles-pm@pm.org > Subject: Re: [LA.pm] January Meeting and flock question > > > Unexpectedly, I'm going to be out of town most of > next week. I should be available solidly after > that. But I wouldn't suggest delaying for me - I'll > just have to wait for the meeting following. > > Cheers, > Ben > > "Robert Spier" wrote: > > > > http://losangeles.citysearch.com/profile/52326 > > > > Next Tuesday the 8th? 6:30 or 7pm? > > > > -R > > > > > > > Ooh! I know, down the street from there (in > > > Silverlakish area) is Casita Del Campo. Great place, > > > not too crowded, they're capable to accommodate a > > > crowd, decent margaritas (by pitcher,) and decent > > > food. Their Mexican meatball soup is to die for and > > > they serve mole. > > > > > > I'd second with Robert and suggest using built-in > > > flock. > > > _______________________________________________ > > > Losangeles-pm mailing list > > > Losangeles-pm@pm.org > > > http://mail.pm.org/mailman/listinfo/losangeles-pm > > _______________________________________________ > > Losangeles-pm mailing list > > Losangeles-pm@pm.org > > http://mail.pm.org/mailman/listinfo/losangeles-pm > > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm > From rspier at pobox.com Thu Feb 3 19:21:27 2005 From: rspier at pobox.com (Robert Spier) Date: Thu Feb 3 19:21:41 2005 Subject: [LA.pm] January Meeting and flock question In-Reply-To: <9fd28138f4e7478390937d876bec77c7@develooper.com> References: <20050202034935.27863.qmail@web201.biz.mail.re2.yahoo.com> <9fd28138f4e7478390937d876bec77c7@develooper.com> Message-ID: > I suggest Nicky D's. It's a bit small maybe, but I think we'll fit on > a random weekday. > http://losangeles.citysearch.com/profile/37045405 This looks like better food. > Kevin suggested thursday? But some other people like Tuesday! (Personally, I like Tuesday.) Or we could just postpone to the 15th when a few others might be able to make it. (Oy. Scheduling people is such a pain!) -R From kevin+lapm at scaldeferri.com Thu Feb 3 19:30:19 2005 From: kevin+lapm at scaldeferri.com (Kevin Scaldeferri) Date: Thu Feb 3 19:30:29 2005 Subject: [LA.pm] January Meeting and flock question In-Reply-To: References: <20050202034935.27863.qmail@web201.biz.mail.re2.yahoo.com> <9fd28138f4e7478390937d876bec77c7@develooper.com> Message-ID: <181CFE30-765D-11D9-ABEA-000A95AE67E0@scaldeferri.com> On Feb 3, 2005, at 7:21 PM, Robert Spier wrote: > > > Or we could just postpone to the 15th when a few others might be able > to make it. > > (Oy. Scheduling people is such a pain!) > can't someone just hack something together to let people vote on when and where to meet? Then we can argue about the right objective function, instead of arguing about scheduling :-) -kevin From rspier at pobox.com Thu Feb 3 19:35:00 2005 From: rspier at pobox.com (Robert Spier) Date: Thu Feb 3 19:35:10 2005 Subject: [LA.pm] January Meeting and flock question In-Reply-To: <181CFE30-765D-11D9-ABEA-000A95AE67E0@scaldeferri.com> References: <20050202034935.27863.qmail@web201.biz.mail.re2.yahoo.com> <9fd28138f4e7478390937d876bec77c7@develooper.com> <181CFE30-765D-11D9-ABEA-000A95AE67E0@scaldeferri.com> Message-ID: > can't someone just hack something together to let people vote on when > and where to meet? Thanks for volunteering! > Then we can argue about the right objective function, instead of > arguing about scheduling :-) We're not really arguing, so much as I'm waffling about JF picking a place and time. -R From rspier at pobox.com Mon Feb 7 15:48:03 2005 From: rspier at pobox.com (Robert Spier) Date: Mon Feb 7 15:48:36 2005 Subject: [LA.pm] Dinner - 2/15, 7pm Message-ID: It's on the website, so it's final. A Social Dinner Tuesday, Feb 15th, 2005 7pm Nicky D's Wood-Fired Pizza Cafe http://losangeles.citysearch.com/profile/37045405 2764 Rowena Ave, LA Identify us by the stuffed camel, or other Perl paraphernalia. One copy of Perl 6 Now -- The Core Ideas Illustrated with Perl 5 to be distributed. There may be more stuff too. From rspier at pobox.com Wed Feb 9 17:10:19 2005 From: rspier at pobox.com (Robert Spier) Date: Wed Feb 9 17:10:30 2005 Subject: [LA.pm] Job Posting In-Reply-To: <6.2.0.14.0.20050209140753.02955d60@mail.partridgeinc.com> References: <6.2.0.14.0.20050209140753.02955d60@mail.partridgeinc.com> Message-ID: I don't want the list to turn into only job postings, but one or two once in a while when people ask nicely shouldn't be a problem. See below. -R At Wed, 09 Feb 2005 14:21:28 -0800, Linda Hopkins Ossa wrote: > > Hi, > > My name is Linda Hopkins Ossa and I work with Partridge & Associates, an IT consulting company here in LA. We have a > client in West LA that is looking for a Perl programmer for a 6 month contract (possibly ongoing). > > I am wondering if the Perl Mongers post or broadcast open positions? If so, here are the requirements: > > Perl programmer with experience in online web development as well as batch processing. > - Perl (CGI and DBI a plus) within a Unix/Apache environment > - SQL (Sybase would be a plus) > - HTML (Dynamic HTML would be a plus) > - JavaScript > - DOM (a plus, but not required) > - PHP (a plus, but not required) > > If not, then disregard the above message and it will disappear (once you delete it). I'm hoping that it's the former > and you know of dozens of great Perl programmers looking to land a juicy contract. We're hoping to get this filled > soon so it doesn't turn into a squishy contract. > > Thanks so much, > Linda Hopkins Ossa > Linda@PartridgeInc.com > Partridge & Associates > 818-957-2506 - office > > From rspier at pobox.com Wed Feb 9 19:03:39 2005 From: rspier at pobox.com (Robert Spier) Date: Wed Feb 9 19:03:51 2005 Subject: [LA.pm] Job Posting #2 In-Reply-To: <1107998389.28579.52.camel@jeffy.internal> References: <6.2.0.14.0.20050209140753.02955d60@mail.partridgeinc.com> <1107998389.28579.52.camel@jeffy.internal> Message-ID: Since Jeff also asked nicely, I'll pas this on too. I'm pretty sure Jeff isn't talking about himself as the charming boss... although some people have described himself that way. At 09 Feb 2005 17:19:50 -0800, Jeff Yoak wrote: > > I have three open right now, if you feel like posting it and there are > others at the company where I work. They can all be found here: > > http://oversee.net/current_openings.html > > The three that list "Consumer Brands" as a department report to a > particularly charming boss. ;-) > From e at arix.com Wed Feb 9 22:35:58 2005 From: e at arix.com (Erick Calder) Date: Wed Feb 9 22:36:54 2005 Subject: [LA.pm] Job Posting In-Reply-To: Message-ID: I have no objections to that, especially since my contract ends this Friday! I will write Linda. thanks Robert. > From: Robert Spier > Date: Wed, 09 Feb 2005 17:10:19 -0800 > To: Los Angeles Perl Mongers > Subject: [LA.pm] Job Posting > > > I don't want the list to turn into only job postings, but one or two > once in a while when people ask nicely shouldn't be a problem. > > See below. > > -R > > > At Wed, 09 Feb 2005 14:21:28 -0800, > Linda Hopkins Ossa wrote: >> >> Hi, >> >> My name is Linda Hopkins Ossa and I work with Partridge & Associates, an IT >> consulting company here in LA. We have a >> client in West LA that is looking for a Perl programmer for a 6 month >> contract (possibly ongoing). >> >> I am wondering if the Perl Mongers post or broadcast open positions? If so, >> here are the requirements: >> >> Perl programmer with experience in online web development as well as batch >> processing. >> - Perl (CGI and DBI a plus) within a Unix/Apache environment >> - SQL (Sybase would be a plus) >> - HTML (Dynamic HTML would be a plus) >> - JavaScript >> - DOM (a plus, but not required) >> - PHP (a plus, but not required) >> >> If not, then disregard the above message and it will disappear (once you >> delete it). I'm hoping that it's the former >> and you know of dozens of great Perl programmers looking to land a juicy >> contract. We're hoping to get this filled >> soon so it doesn't turn into a squishy contract. >> >> Thanks so much, >> Linda Hopkins Ossa >> Linda@PartridgeInc.com >> Partridge & Associates >> 818-957-2506 - office >> >> > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm From e at arix.com Wed Feb 9 22:53:55 2005 From: e at arix.com (Erick Calder) Date: Wed Feb 9 22:54:44 2005 Subject: [LA.pm] Job Posting In-Reply-To: Message-ID: Linda, I saw your message on the Perl Mongers mailing list and find it timely as my contract is coming to an end this Friday. I am actually leaving the country for 3 weeks but am interested in the position. Please review my resume at: http://www.arix.com/ec/cv/ keeping in mind I have not had the chance to update it to include my last assignment where I've been working for Western Asset Management, a small financial outfit with $350 billion under management, where I've developed a reporting system and been instrumental in writing data loaders and import processes in perl against a Sybase database. I do corp-to-corp work only. please write back as I will be checking e-mail during my sojourn and look forward to this possibility. regards, erick calder > At Wed, 09 Feb 2005 14:21:28 -0800, > Linda Hopkins Ossa wrote: >> >> Hi, >> >> My name is Linda Hopkins Ossa and I work with Partridge & Associates, an IT >> consulting company here in LA. We have a >> client in West LA that is looking for a Perl programmer for a 6 month >> contract (possibly ongoing). >> >> I am wondering if the Perl Mongers post or broadcast open positions? If so, >> here are the requirements: >> >> Perl programmer with experience in online web development as well as batch >> processing. >> - Perl (CGI and DBI a plus) within a Unix/Apache environment >> - SQL (Sybase would be a plus) >> - HTML (Dynamic HTML would be a plus) >> - JavaScript >> - DOM (a plus, but not required) >> - PHP (a plus, but not required) >> >> If not, then disregard the above message and it will disappear (once you >> delete it). I'm hoping that it's the former >> and you know of dozens of great Perl programmers looking to land a juicy >> contract. We're hoping to get this filled >> soon so it doesn't turn into a squishy contract. >> >> Thanks so much, >> Linda Hopkins Ossa >> Linda@PartridgeInc.com >> Partridge & Associates >> 818-957-2506 - office >> >> > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm From rspier at pobox.com Wed Feb 9 23:06:50 2005 From: rspier at pobox.com (Robert Spier) Date: Wed Feb 9 23:08:09 2005 Subject: [LA.pm] Job Posting In-Reply-To: References: Message-ID: > Linda, > ... > erick calder Someone forgot to check the To headers. ;) (And mailed everyone except Linda.) Whoops! -R From e at arix.com Wed Feb 9 23:08:02 2005 From: e at arix.com (Erick Calder) Date: Wed Feb 9 23:08:40 2005 Subject: [LA.pm] Job Posting In-Reply-To: Message-ID: grr... I'm such a moron, sending this to the wrong address... sorry guys! > From: Erick Calder > Date: Wed, 09 Feb 2005 22:53:55 -0800 > To: Robert Spier , Los Angeles Perl Mongers > > Subject: Re: [LA.pm] Job Posting > > Linda, > > I saw your message on the Perl Mongers mailing list and find it timely as my > contract is coming to an end this Friday. I am actually leaving the country > for 3 weeks but am interested in the position. Please review my resume at: > > http://www.arix.com/ec/cv/ > > keeping in mind I have not had the chance to update it to include my last > assignment where I've been working for Western Asset Management, a small > financial outfit with $350 billion under management, where I've developed a > reporting system and been instrumental in writing data loaders and import > processes in perl against a Sybase database. > > I do corp-to-corp work only. please write back as I will be checking e-mail > during my sojourn and look forward to this possibility. > > regards, > > erick calder > >> At Wed, 09 Feb 2005 14:21:28 -0800, >> Linda Hopkins Ossa wrote: >>> >>> Hi, >>> >>> My name is Linda Hopkins Ossa and I work with Partridge & Associates, an IT >>> consulting company here in LA. We have a >>> client in West LA that is looking for a Perl programmer for a 6 month >>> contract (possibly ongoing). >>> >>> I am wondering if the Perl Mongers post or broadcast open positions? If so, >>> here are the requirements: >>> >>> Perl programmer with experience in online web development as well as batch >>> processing. >>> - Perl (CGI and DBI a plus) within a Unix/Apache environment >>> - SQL (Sybase would be a plus) >>> - HTML (Dynamic HTML would be a plus) >>> - JavaScript >>> - DOM (a plus, but not required) >>> - PHP (a plus, but not required) >>> >>> If not, then disregard the above message and it will disappear (once you >>> delete it). I'm hoping that it's the former >>> and you know of dozens of great Perl programmers looking to land a juicy >>> contract. We're hoping to get this filled >>> soon so it doesn't turn into a squishy contract. >>> >>> Thanks so much, >>> Linda Hopkins Ossa >>> Linda@PartridgeInc.com >>> Partridge & Associates >>> 818-957-2506 - office >>> >>> >> _______________________________________________ >> Losangeles-pm mailing list >> Losangeles-pm@pm.org >> http://mail.pm.org/mailman/listinfo/losangeles-pm > > > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm From jeff at yoak.com Thu Feb 10 10:31:27 2005 From: jeff at yoak.com (Jeff Yoak) Date: Thu Feb 10 10:31:39 2005 Subject: [LA.pm] Job Posting #2 In-Reply-To: References: <6.2.0.14.0.20050209140753.02955d60@mail.partridgeinc.com> <1107998389.28579.52.camel@jeffy.internal> Message-ID: <1108060287.32248.27.camel@jeffy.internal> Actually, I was referring to myself... which is why I included the wink as many of the folks on this list know better. :-) Cheers, Jeff On Wed, 2005-02-09 at 19:03, Robert Spier wrote: > Since Jeff also asked nicely, I'll pas this on too. I'm pretty sure > Jeff isn't talking about himself as the charming boss... although some > people have described himself that way. > > At 09 Feb 2005 17:19:50 -0800, > Jeff Yoak wrote: > > > > I have three open right now, if you feel like posting it and there are > > others at the company where I work. They can all be found here: > > > > http://oversee.net/current_openings.html > > > > The three that list "Consumer Brands" as a department report to a > > particularly charming boss. ;-) > > > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm From rspier at pobox.com Thu Feb 10 21:44:27 2005 From: rspier at pobox.com (Robert Spier) Date: Thu Feb 10 21:44:41 2005 Subject: [LA.pm] Job Posting #2 In-Reply-To: <1108060287.32248.27.camel@jeffy.internal> References: <6.2.0.14.0.20050209140753.02955d60@mail.partridgeinc.com> <1107998389.28579.52.camel@jeffy.internal> <1108060287.32248.27.camel@jeffy.internal> Message-ID: Oh. Well. Um. Er. :) > Actually, I was referring to myself... which is why I included the wink > as many of the folks on this list know better. :-) From rspier at pobox.com Fri Feb 11 12:51:27 2005 From: rspier at pobox.com (Robert Spier) Date: Fri Feb 11 12:51:45 2005 Subject: [LA.pm] Job Posting #3: YAPJP (Yet another perl job posting) In-Reply-To: <1679BEC11E925E4E9ADF8877CFD25CB30172A590@EXCHG01-BUR> References: <1679BEC11E925E4E9ADF8877CFD25CB30172A590@EXCHG01-BUR> Message-ID: This seems to be the week of the Job Postings. Hrm.. Overture will be moving 5 minutes from my house in a few months... with a great view of the airport. -R At Thu, 10 Feb 2005 16:24:19 -0800, Rosie Jones wrote: > Asking nicely :) See attached job desription for perl/DBA/data herder > for research group at Yahoo Overture in Pasadena. > > Rosie Jones > Sr. Research Scientist, Information Retrieval > Yahoo! Overture Matching Sciences > jonesr@yahoo-inc.com > > > [2 Data Analyst - Matching Sciences.txt ] > > > Yahoo! is home to some of the brightest minds on the Web. We thrive on creativity and ingenuity, applaud irreverence, and believe humor is essential to success. Join Yahoo! and be part of the essential Internet service that is changing the way people find information, communicate with others and shop online. > > Data Analyst - Matching Sciences > > > Location: Pasadena, CA > > Yahoo! Overture Matching Sciences works with vast quantities of data to match web search queries and web pages to advertiser listings. We synthesize approaches from data mining, machine learning, information retrieval and computational linguistics to produce state of the art solutions to natural language matching tasks. > > Responsibilities: > > * SQL Programming > * Working with other groups to share data. > * Perl script writing > * Collecting taxonomies and category lists > * Running clustering code on a regular basis > > > Skills/Qualifications: > * BS in Computer Science or equivalent > * Excellent SQL/ Database skills > * Excellent scripting skills (perl preferred) > * Excellent communication skills > > > We offer an excellent benefits package that starts your first day on the job. This includes: a 401K Plan, Medical (HMO & PPO), Dental & Vision benefits, paid vacation, paid sick days, Short & Long Term Disability Insurance, Life Insurance, Flexible Spending Account, Employee Assistance Program, Stock Option Plan and Employee Stock Purchase Plan. Employees enjoy a casual dress and fun team environment. > See http://careers.yahoo.com/rewards.html > > Contact: > Brett Martin - brett.martin@overture.com > Dan Fain - dan.fain@overture.com > From lumm at overture.com Fri Feb 11 13:45:53 2005 From: lumm at overture.com (Michael Lum) Date: Fri Feb 11 13:45:59 2005 Subject: [LA.pm] Job Posting #3: YAPJP (Yet another perl job posting) In-Reply-To: References: <1679BEC11E925E4E9ADF8877CFD25CB30172A590@EXCHG01-BUR> Message-ID: <420D2791.5080306@overture.com> On 02/11/05 12:51, Robert Spier wrote: > This seems to be the week of the Job Postings. > > Hrm.. Overture will be moving 5 minutes from my house in a few > months... with a great view of the airport. As well as the MTA, I might add. While we're at it, if anyone on this list thinks they have what it takes to help run a search engine, send me your resume. > > -R > > At Thu, 10 Feb 2005 16:24:19 -0800, > Rosie Jones wrote: > >>Asking nicely :) See attached job desription for perl/DBA/data herder >>for research group at Yahoo Overture in Pasadena. >> >>Rosie Jones >>Sr. Research Scientist, Information Retrieval >>Yahoo! Overture Matching Sciences >>jonesr@yahoo-inc.com >> >> >>[2 Data Analyst - Matching Sciences.txt ] >> >> >>Yahoo! is home to some of the brightest minds on the Web. We thrive on creativity and ingenuity, applaud irreverence, and believe humor is essential to success. Join Yahoo! and be part of the essential Internet service that is changing the way people find information, communicate with others and shop online. >> >>Data Analyst - Matching Sciences >> >> >>Location: Pasadena, CA >> >>Yahoo! Overture Matching Sciences works with vast quantities of data to match web search queries and web pages to advertiser listings. We synthesize approaches from data mining, machine learning, information retrieval and computational linguistics to produce state of the art solutions to natural language matching tasks. >> >>Responsibilities: >> >>* SQL Programming >>* Working with other groups to share data. >>* Perl script writing >>* Collecting taxonomies and category lists >>* Running clustering code on a regular basis >> >> >>Skills/Qualifications: >>* BS in Computer Science or equivalent >>* Excellent SQL/ Database skills >>* Excellent scripting skills (perl preferred) >>* Excellent communication skills >> >> >>We offer an excellent benefits package that starts your first day on the job. This includes: a 401K Plan, Medical (HMO & PPO), Dental & Vision benefits, paid vacation, paid sick days, Short & Long Term Disability Insurance, Life Insurance, Flexible Spending Account, Employee Assistance Program, Stock Option Plan and Employee Stock Purchase Plan. Employees enjoy a casual dress and fun team environment. >>See http://careers.yahoo.com/rewards.html >> >>Contact: >>Brett Martin - brett.martin@overture.com >>Dan Fain - dan.fain@overture.com >> > > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm From ofer at netapt.com Fri Feb 11 14:22:23 2005 From: ofer at netapt.com (Ofer Nave) Date: Fri Feb 11 14:22:30 2005 Subject: [LA.pm] modules for testing free disk space Message-ID: Found three so far: Filesys::Df Filesys::DiskFree Filesys::DiskSpace Anyone know anything about these and can recommend one over the others? Man, I'm tellin ya, a wiki would be killer for this stuff. :) -ofer From kevin+lapm at scaldeferri.com Fri Feb 11 14:29:08 2005 From: kevin+lapm at scaldeferri.com (Kevin Scaldeferri) Date: Fri Feb 11 14:29:22 2005 Subject: [LA.pm] Job Posting #3: YAPJP (Yet another perl job posting) In-Reply-To: <420D2791.5080306@overture.com> References: <1679BEC11E925E4E9ADF8877CFD25CB30172A590@EXCHG01-BUR> <420D2791.5080306@overture.com> Message-ID: <02cf8cbf0586e2070bc080b429a3cfd7@scaldeferri.com> On Feb 11, 2005, at 1:45 PM, Michael Lum wrote: > > On 02/11/05 12:51, Robert Spier wrote: >> This seems to be the week of the Job Postings. Hrm.. Overture will >> be moving 5 minutes from my house in a few >> months... with a great view of the airport. > > As well as the MTA, I might add. > > While we're at it, if anyone on this list thinks they have what it > takes to help run a search engine, send me your resume. Indeed, many parts of Overture are hiring at the moment. I'll probably be at the meeting next week if anyone wants to hear a sales pitch. -kevin From ofer at netapt.com Fri Feb 11 14:53:46 2005 From: ofer at netapt.com (Ofer Nave) Date: Fri Feb 11 14:53:54 2005 Subject: [LA.pm] modules for testing free disk space In-Reply-To: Message-ID: In case anyone is interested: Filesys::Df Works, but seems to only be happy with the mount name, and not an arbitrary directory under the mount. Meaning, if you had a mount (say, '/shared'), and a directory under the mount (say, '/shared/ofer/project47'), then df( '/shared' ) works, but df( '/shared/ofer/project47' ) doesn't. Filesys::DiskSpace Got the following error message: "An error occured. statfs failed. Did you run h2ph? Cannot use df on this machine (untested or unsupported). at ./foo.pl line 30" Filesys::DiskFree Flexible enough to take any directory, no errors... we have a winner! -ofer On Fri, 11 Feb 2005, Ofer Nave wrote: > > Found three so far: > > Filesys::Df > Filesys::DiskFree > Filesys::DiskSpace > > Anyone know anything about these and can recommend one over the others? > > Man, I'm tellin ya, a wiki would be killer for this stuff. :) > > -ofer > > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm > From rspier at pobox.com Sat Feb 12 00:24:34 2005 From: rspier at pobox.com (Robert Spier) Date: Sat Feb 12 00:24:52 2005 Subject: [LA.pm] Job Posting #3: YAPJP (Yet another perl job posting) In-Reply-To: <420D2791.5080306@overture.com> References: <1679BEC11E925E4E9ADF8877CFD25CB30172A590@EXCHG01-BUR> <420D2791.5080306@overture.com> Message-ID: > As well as the MTA, I might add. I assume you mean 'Metrolink' here. From lumm at overture.com Sat Feb 12 08:48:26 2005 From: lumm at overture.com (Michael Lum) Date: Sat Feb 12 08:48:45 2005 Subject: [LA.pm] Job Posting #3: YAPJP (Yet another perl job posting) In-Reply-To: References: <1679BEC11E925E4E9ADF8877CFD25CB30172A590@EXCHG01-BUR> <420D2791.5080306@overture.com> Message-ID: <420E335A.40509@overture.com> On 2/12/2005 12:24 AM, Robert Spier wrote: >>As well as the MTA, I might add. > > > I assume you mean 'Metrolink' here. > Right... not 'Postfix'. From rspier at pobox.com Tue Feb 15 16:09:56 2005 From: rspier at pobox.com (Robert Spier) Date: Tue Feb 15 16:10:08 2005 Subject: TONIGHT --- Re: [LA.pm] Dinner - 2/15, 7pm In-Reply-To: References: Message-ID: This is tonight. See y'all in 3 hours. I've brought my Camel with me. At Mon, 07 Feb 2005 15:48:03 -0800, Robert Spier wrote: > > > It's on the website, so it's final. > > A Social Dinner > Tuesday, Feb 15th, 2005 > 7pm > > Nicky D's Wood-Fired Pizza Cafe > http://losangeles.citysearch.com/profile/37045405 > 2764 Rowena Ave, LA > > Identify us by the stuffed camel, or other Perl paraphernalia. > > One copy of Perl 6 Now -- The Core Ideas Illustrated with Perl 5 to be > distributed. There may be more stuff too. From fred.kleindenst at citigroup.com Wed Feb 16 11:13:35 2005 From: fred.kleindenst at citigroup.com (Kleindenst, Fred) Date: Wed Feb 16 11:15:15 2005 Subject: Report on : [LA.pm] Dinner - 2/15, 7pm -- AND call for suggestions for next month's dinner Message-ID: <1E6014B28FEE6F43A5F49C6628B7B85E02F9A57F@EXNJMB11.nam.nsroot.net> Hello PerlMongers, The dinner last night was great. We had folks from Caltech, Citisearch.com, Overture.com, Kaiser, idealab and Citibank. It was my first meeting and I meet 10 new persons whose names I have promptly misplaced in my brain. For some reason I thought it would be a good idea to volunteer to organize the next gathering of PM. I've picked a strawman date of Mar 22 7pm; any strong objections? I'm asking for suggestions of locations/food types. Cheers Fred Kleindenst Citigroup Inc. freddo411@gmail.com > -----Original Message----- > From: losangeles-pm-bounces@pm.org > [mailto:losangeles-pm-bounces@pm.org]On Behalf Of Robert Spier > Sent: Tuesday, February 15, 2005 4:10 PM > To: Los Angeles Perl Mongers > Subject: TONIGHT --- Re: [LA.pm] Dinner - 2/15, 7pm > > > > This is tonight. See y'all in 3 hours. > > I've brought my Camel with me. > > At Mon, 07 Feb 2005 15:48:03 -0800, > Robert Spier wrote: > > > > > > It's on the website, so it's final. > > > > A Social Dinner > > Tuesday, Feb 15th, 2005 > > 7pm > > > > Nicky D's Wood-Fired Pizza Cafe > > http://losangeles.citysearch.com/profile/37045405 > > 2764 Rowena Ave, LA > > > > Identify us by the stuffed camel, or other Perl paraphernalia. > > > > One copy of Perl 6 Now -- The Core Ideas Illustrated with > Perl 5 to be > > distributed. There may be more stuff too. > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm > From Peter at PSDT.com Wed Feb 16 12:20:02 2005 From: Peter at PSDT.com (Peter Scott) Date: Wed Feb 16 13:29:11 2005 Subject: [LA.pm] JPL needs Perler Message-ID: <6.1.2.0.2.20050216120417.024b6bb0@shell2.webquarry.com> Hello folks. I am beating the bushes here for interest in a position potentially available at the Jet Propulsion Lab. I say potentially because I am not in charge of the staffing in any way; I'm merely part of a team that needs help and I'm exercising my contacts to see if I can find some. I'm not authorized to say there even is a job and I am not speaking on behalf of JPL in any way. The need here is for someone familiar with objected-oriented programming, object-oriented Perl, and the design and implementation of large projects as part of a team. The following capabilities are optional. Experience with AFS would be decisive. Knowledge of SQL will be highly helpful, as will experience with LDAP and/or Apache. Any experience (especially API level) with ARS Remedy and/or DocuShare will be valuable. Person must be available to work at least half time in the Pasadena area. Anyone interested, please contact me for further discussion. -- Peter Scott Pacific Systems Design Technologies http://www.perldebugged.com/ http://www.perlmedic.com/ From ofer at netapt.com Wed Feb 16 16:40:47 2005 From: ofer at netapt.com (Ofer Nave) Date: Wed Feb 16 16:40:55 2005 Subject: [LA.pm] -l returns false on broken symlinks In-Reply-To: <6.1.2.0.2.20050216120417.024b6bb0@shell2.webquarry.com> Message-ID: I've just discovered that the -l test operator returns false on broken symlinks. This, of course, makes perfect sense, since in the context of symlinks it is known that the operator's tests apply to the symlinks target, and with regards to a broken symlink, the target clearly doesn't exist. :) However, this brings up the question: If you want to determine whether or not the symlink exists, how do you? Prerably without ugliness like system calls and parsing text output. -ofer From ask at develooper.com Wed Feb 16 16:56:26 2005 From: ask at develooper.com (=?ISO-8859-1?Q?Ask_Bj=F8rn_Hansen?=) Date: Wed Feb 16 16:56:34 2005 Subject: [LA.pm] -l returns false on broken symlinks In-Reply-To: References: Message-ID: <0d0563695fc3ee04194ddb9f8ab6a831@develooper.com> On Feb 16, 2005, at 4:40 PM, Ofer Nave wrote: > I've just discovered that the -l test operator returns false on broken > symlinks. This, of course, makes perfect sense, since in the context > of > symlinks it is known that the operator's tests apply to the symlinks > target, and with regards to a broken symlink, the target clearly > doesn't > exist. :) Hi Ofer, It returns true for me on all the platforms I could easily test on... $ ln -s /asdfasf/sdfasdf test $ perl -e 'print "yes\n" if -l "test"' yes How are you testing it? - ask -- http://www.askbjoernhansen.com/ From ofer at netapt.com Thu Feb 17 10:27:03 2005 From: ofer at netapt.com (Ofer Nave) Date: Thu Feb 17 10:27:14 2005 Subject: [LA.pm] original mod_perl authors In-Reply-To: Message-ID: So, I'm about 90 pages into the Perl 6 Now book, and it rocks. However, after reading the section on architecture, I naturally started wondering how this would be plugged into apache, and on a whim did a search for mod_parrot. I found this article: http://www.perl.com/pub/a/2004/12/22/mod_parrot.html And then I found this in the article: "Ask Bj?rn Hansen and Robert Spier originally wrote mod_parrot in 2002..." I had no idea. Way to go! -ofer From ofer at netapt.com Thu Feb 17 13:50:09 2005 From: ofer at netapt.com (Ofer Nave) Date: Thu Feb 17 13:50:18 2005 Subject: [LA.pm] -l returns false on broken symlinks In-Reply-To: Message-ID: I was incorrect. There was a mistake in my test case. -l does, in fact, return true on a broken symlink. How embarassing... -ofer On Wed, 16 Feb 2005, Ofer Nave wrote: > > I've just discovered that the -l test operator returns false on broken > symlinks. This, of course, makes perfect sense, since in the context of > symlinks it is known that the operator's tests apply to the symlinks > target, and with regards to a broken symlink, the target clearly doesn't > exist. :) > > However, this brings up the question: If you want to determine whether or > not the symlink exists, how do you? Prerably without ugliness like system > calls and parsing text output. > > -ofer > > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm > From ofer at netapt.com Thu Feb 17 14:03:40 2005 From: ofer at netapt.com (Ofer Nave) Date: Thu Feb 17 14:03:48 2005 Subject: [LA.pm] locking a directory In-Reply-To: Message-ID: Does anyone know how to lock a directory? I tried the standard flock call, and it didn't like it: my $dir = "/netapp/ofer/somedir"; print "opening $dir\n"; opendir( SOMEDIR, $dir ) or die( $! ); print "locking $dir\n"; flock( SOMEDIR, LOCK_EX ) or die( $! ); print "locked! sleeping\n"; sleep( 999 ); print "unlocking $dir\n"; flock( SOMEDIR, LOCK_UN ) or die( $! ); print "closing $dir\n"; closedir( SOMEDIR ) or die( $! ); print "done\n"; [onave@trioval01 ~] ./foo.pl opening /netapp/ofer/somedir locking /netapp/ofer/somedir flock() on unopened filehandle SOMEDIR at ./foo.pl line 19. (Are you trying to call flock() on dirhandle SOMEDIR?) Bad file descriptor at ./foo.pl line 19. I've done some searching on CPAN and google with no luck so far. -ofer From kevin+lapm at scaldeferri.com Thu Feb 17 15:01:00 2005 From: kevin+lapm at scaldeferri.com (Kevin Scaldeferri) Date: Thu Feb 17 15:01:17 2005 Subject: [LA.pm] locking a directory In-Reply-To: References: Message-ID: you could flock on a normal file that is uniquely associated to each directory (like "${dir}.lock". Since flock is advisory only, so you can't really depend on it outside your application anywhay, using an arbitrary convention like this should suffice. -k On Feb 17, 2005, at 2:03 PM, Ofer Nave wrote: > > Does anyone know how to lock a directory? I tried the standard flock > call, and it didn't like it: > > my $dir = "/netapp/ofer/somedir"; > print "opening $dir\n"; > opendir( SOMEDIR, $dir ) or die( $! ); > print "locking $dir\n"; > flock( SOMEDIR, LOCK_EX ) or die( $! ); > print "locked! sleeping\n"; > sleep( 999 ); > print "unlocking $dir\n"; > flock( SOMEDIR, LOCK_UN ) or die( $! ); > print "closing $dir\n"; > closedir( SOMEDIR ) or die( $! ); > print "done\n"; > > [onave@trioval01 ~] ./foo.pl > opening /netapp/ofer/somedir > locking /netapp/ofer/somedir > flock() on unopened filehandle SOMEDIR at ./foo.pl line 19. > (Are you trying to call flock() on dirhandle SOMEDIR?) > Bad file descriptor at ./foo.pl line 19. > > I've done some searching on CPAN and google with no luck so far. > > -ofer > > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm From cnk at caltech.edu Thu Feb 17 17:32:00 2005 From: cnk at caltech.edu (Cynthia Kiser) Date: Thu Feb 17 17:32:13 2005 Subject: [LA.pm] locking a directory Message-ID: <20050218013200.GH19746@clyde.caltech.edu> >From Tim, who comes to meetings but is not on this list: >From: Ofer Nave > >Does anyone know how to lock a directory? I tried the standard flock >call, and it didn't like it: On Unixen, you can actually lock a directory, since UNIX semantics say a directory may be treated like any other file. Run these two command lines sequentially: perl -wle 'open(my $d,">>+.") or die "$!"; flock($d,2) or die "flock: $!"; sleep 20' & perl -wle 'open(my $d,">>+.") or die "$!"; print "here we go ..."; flock($d,2) or die "flock: $!"; print "unlocked" The first will apply an exclusive lock, the second will block until the lock is released. Worked for me on Linux. That said, for portability purposes, and also to avoid freaking people out with calls to 'open' on a directory, you should probably just use a lock file within the directory. -- Tim Conrow tim@ipac.caltech.edu | -- Cynthia Kiser cnk@caltech.edu From rspier at pobox.com Thu Feb 17 19:44:18 2005 From: rspier at pobox.com (Robert Spier) Date: Thu Feb 17 19:44:30 2005 Subject: [LA.pm] original mod_parrot authors In-Reply-To: References: Message-ID: > http://www.perl.com/pub/a/2004/12/22/mod_parrot.html > And then I found this in the article: > "Ask Bj?rn Hansen and Robert Spier originally wrote mod_parrot in 2002..." > I had no idea. Way to go! We only did a very basic first pass. Then again, parrot was really young at that point too. The current revision is a ground-up rewrite. -R From ben_tilly at operamail.com Sat Feb 19 19:01:12 2005 From: ben_tilly at operamail.com (Benjamin J. Tilly ) Date: Sat Feb 19 19:01:20 2005 Subject: Report on : [LA.pm] Dinner - 2/15,7pm -- AND call for suggestions for next month's dinner Message-ID: <20050220030112.749163AA515@ws5-8.us4.outblaze.com> I personally like Chandara (Thai food) near the intersection of 10 and 405. It also has the advantage (IMO of course) of being very close to me. Cheers, Ben "Kleindenst, Fred" wrote: > > Hello PerlMongers, > > The dinner last night was great. We had folks from Caltech, > Citisearch.com, Overture.com, Kaiser, idealab and Citibank. It was > my first meeting and I meet 10 new persons whose names I have > promptly misplaced in my brain. > > For some reason I thought it would be a good idea to volunteer to > organize the next gathering of PM. I've picked a strawman date of > Mar 22 7pm; any strong objections? > > I'm asking for suggestions of locations/food types. > > Cheers > > Fred Kleindenst > Citigroup Inc. > freddo411@gmail.com > > > > > > > > -----Original Message----- > > From: losangeles-pm-bounces@pm.org > > [mailto:losangeles-pm-bounces@pm.org]On Behalf Of Robert Spier > > Sent: Tuesday, February 15, 2005 4:10 PM > > To: Los Angeles Perl Mongers > > Subject: TONIGHT --- Re: [LA.pm] Dinner - 2/15, 7pm > > > > > > > > This is tonight. See y'all in 3 hours. > > > > I've brought my Camel with me. > > > > At Mon, 07 Feb 2005 15:48:03 -0800, > > Robert Spier wrote: > > > > > It's on the website, so it's final. > > > > A Social Dinner > > > Tuesday, Feb 15th, 2005 > > > 7pm > > > > Nicky D's Wood-Fired Pizza Cafe > > > http://losangeles.citysearch.com/profile/37045405 > > > 2764 Rowena Ave, LA > > > > Identify us by the stuffed camel, or other Perl paraphernalia. > > > > One copy of Perl 6 Now -- The Core Ideas Illustrated with Perl 5 to be > > > distributed. There may be more stuff too. > > _______________________________________________ > > Losangeles-pm mailing list > > Losangeles-pm@pm.org > > http://mail.pm.org/mailman/listinfo/losangeles-pm > > > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm From pete at peterbenjamin.com Sun Feb 20 14:46:46 2005 From: pete at peterbenjamin.com (Peter Benjamin) Date: Sun Feb 20 14:48:21 2005 Subject: Report on : [LA.pm] Dinner - 2/15,7pm -- AND call for suggestions for next month's dinner In-Reply-To: <20050220030112.749163AA515@ws5-8.us4.outblaze.com> References: <20050220030112.749163AA515@ws5-8.us4.outblaze.com> Message-ID: <6.1.2.0.2.20050220144531.03393060@peterbenjamin.com> At 07:01 PM 2/19/2005, Benjamin J. Tilly wrote: >I personally like Chandara (Thai food) near the intersection >of 10 and 405. It also has the advantage (IMO of course) of >being very close to me. That is close to me as well as I am in Santa Monica. And if a night is chosen were I am not teaching at LAMPSIG.org (every Tuesday night almost), then I will make another appearance at LA.pm! From cch2cch at netscape.net Mon Feb 21 19:10:10 2005 From: cch2cch at netscape.net (cch2cch@netscape.net) Date: Mon Feb 21 19:10:24 2005 Subject: [LA.pm] does system() wait? Message-ID: <5CDCE383.42FFFAB1.001D754E@netscape.net> Hi, I am running activePerl 5.6 on win98se. When I run these statements: system("...realplayer song1.mp3"); system("...realplayer song2.mp3"); system("...realplayer song3.mp3"); I expect the three songs to be played in sequence. Instead only song3 is played. It seems all three system() function are executed but one overrides the other. I believe Perl waits for system() to finish before continuing. Is it not so in the PC environment? Thanks __________________________________________________________________ Switch to Netscape Internet Service. As low as $9.95 a month -- Sign up today at http://isp.netscape.com/register Netscape. Just the Net You Need. New! Netscape Toolbar for Internet Explorer Search from anywhere on the Web and block those annoying pop-ups. Download now at http://channels.netscape.com/ns/search/install.jsp From ofer at netapt.com Mon Feb 21 19:47:45 2005 From: ofer at netapt.com (Ofer Nave) Date: Mon Feb 21 19:48:04 2005 Subject: [LA.pm] does system() wait? In-Reply-To: <5CDCE383.42FFFAB1.001D754E@netscape.net> Message-ID: The system() call, like any other function, finishes what it is doing before returning. So the first system call will only return after realplayer is done playing song1.mp3, after which your script will then execute the second system() call. You could get all three to play simultaneously by launching the process in the background, like this: system( "realplayer song1.mp3 &" ); system( "realplayer song2.mp3 &" ); system( "realplayer song3.mp3 &" ); Of course, the timing will not be perfect.... and you better then go into a loop that waits for all three children to exit, or else your perl script might exit before the songs are done, which probably (but I'm not sure) kills the realplayer processes, since they are children processes. If you want to execute multiple command lines simultaneously, without blocking, and you're willing to tolerate a long learning curve, consider learning POE and using POE::Component::Child. -ofer On Mon, 21 Feb 2005 cch2cch@netscape.net wrote: > Hi, > > I am running activePerl 5.6 on win98se. When I run these statements: > > system("...realplayer song1.mp3"); > system("...realplayer song2.mp3"); > system("...realplayer song3.mp3"); > > I expect the three songs to be played in sequence. Instead only song3 is > played. It seems all three system() function are executed but one > overrides the other. I believe Perl waits for system() to finish > before continuing. Is it not so in the PC environment? Thanks > > > > __________________________________________________________________ > Switch to Netscape Internet Service. > As low as $9.95 a month -- Sign up today at http://isp.netscape.com/register > > Netscape. Just the Net You Need. > > New! Netscape Toolbar for Internet Explorer > Search from anywhere on the Web and block those annoying pop-ups. > Download now at http://channels.netscape.com/ns/search/install.jsp > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm > From rspier at pobox.com Mon Feb 21 20:56:52 2005 From: rspier at pobox.com (Robert Spier) Date: Mon Feb 21 20:57:06 2005 Subject: [LA.pm] does system() wait? In-Reply-To: <5CDCE383.42FFFAB1.001D754E@netscape.net> References: <5CDCE383.42FFFAB1.001D754E@netscape.net> Message-ID: > system("...realplayer song1.mp3"); > system("...realplayer song2.mp3"); > system("...realplayer song3.mp3"); > > I expect the three songs to be played in sequence. Instead only song3 is > played. It seems all three system() function are executed but one > overrides the other. I believe Perl waits for system() to finish > before continuing. Is it not so in the PC environment? Thanks This isn't a perl issue so much as a realplayer issue. The process you fire off returns immediately after communicating to the already running process on your machine to play the song. it does actually begin to play song1 and song2, but it happens so quickly that you don't notice. -R From jleader at alumni.caltech.edu Mon Feb 21 21:03:07 2005 From: jleader at alumni.caltech.edu (Jeremy Leader) Date: Mon Feb 21 20:57:33 2005 Subject: [LA.pm] does system() wait? In-Reply-To: <5CDCE383.42FFFAB1.001D754E@netscape.net> References: <5CDCE383.42FFFAB1.001D754E@netscape.net> Message-ID: <421ABD0B.1040808@alumni.caltech.edu> cch2cch@netscape.net wrote: > Hi, > > I am running activePerl 5.6 on win98se. When I run these statements: > > system("...realplayer song1.mp3"); > system("...realplayer song2.mp3"); > system("...realplayer song3.mp3"); > > I expect the three songs to be played in sequence. Instead only song3 is > played. It seems all three system() function are executed but one > overrides the other. I believe Perl waits for system() to finish > before continuing. Is it not so in the PC environment? Thanks Yes, system does a fork, exec, wait (or some rough equivalent). However, I don't know what the semantics of calling "...realplayer" are. Some programs perform an action, and don't exit/return to the caller until the action is done. Other programs are just interfaces to some daemon process, and will exit/return as soon as they've relayed the appropriate command to the daemon process. My guess is that realplayer does the latter, so each invocation to "...realplayer" just sends a command to the realplayer daemon to tell it to start a new song. There might be an option to "...realplayer" to tell it to wait until the song finishes before returning, I don't know. Or, there might be some interface you could call which would tell you the currently playing song, and your script would have to loop, checking which song is playing and sleeping until it's time to start the next song. -- Jeremy Leader jleader@alumni.caltech.edu From ofer at netapt.com Wed Feb 23 00:54:37 2005 From: ofer at netapt.com (Ofer Nave) Date: Wed Feb 23 00:54:47 2005 Subject: [LA.pm] locking a directory In-Reply-To: Message-ID: Since I asked the question, thought I'd share an easy answer. The same (or similiar) solution was already suggested by Kevin Scaldeferri and Tim Conrow, but I just realized that an implementation already exists in the Perl Cookbook. In the version I have (first edition, 1998 printing), it's recipe 7.21 Program: netlock. The recipe implements a module called File::LockDir to demonstrate the concept. Now why hasn't anyone actually created it and put it on CPAN? :) -ofer On Thu, 17 Feb 2005, Ofer Nave wrote: > > Does anyone know how to lock a directory? I tried the standard flock > call, and it didn't like it: > > my $dir = "/netapp/ofer/somedir"; > print "opening $dir\n"; > opendir( SOMEDIR, $dir ) or die( $! ); > print "locking $dir\n"; > flock( SOMEDIR, LOCK_EX ) or die( $! ); > print "locked! sleeping\n"; > sleep( 999 ); > print "unlocking $dir\n"; > flock( SOMEDIR, LOCK_UN ) or die( $! ); > print "closing $dir\n"; > closedir( SOMEDIR ) or die( $! ); > print "done\n"; > > [onave@trioval01 ~] ./foo.pl > opening /netapp/ofer/somedir > locking /netapp/ofer/somedir > flock() on unopened filehandle SOMEDIR at ./foo.pl line 19. > (Are you trying to call flock() on dirhandle SOMEDIR?) > Bad file descriptor at ./foo.pl line 19. > > I've done some searching on CPAN and google with no luck so far. > > -ofer > > _______________________________________________ > Losangeles-pm mailing list > Losangeles-pm@pm.org > http://mail.pm.org/mailman/listinfo/losangeles-pm > From cch2cch at netscape.net Wed Feb 23 07:43:35 2005 From: cch2cch at netscape.net (cch) Date: Wed Feb 23 07:41:09 2005 Subject: [LA.pm] does system() wait? In-Reply-To: <421ABD0B.1040808@alumni.caltech.edu> References: <5CDCE383.42FFFAB1.001D754E@netscape.net> <421ABD0B.1040808@alumni.caltech.edu> Message-ID: <421CA4A7.3000602@netscape.net> Thanks all for your response. Yes, it is more a realplayer issue. Actually I can play several songs with one call: system("... realplayer song1.mp3 song2.mp3 .."); but I want to play a long list. Incidentally, for you guys who have realplayer on unix/linux ( realplayer crashes my redhat) I wonder what it will do with this: cat songlist| xargs realplayer jleader@alumni.caltech.edu wrote: > cch2cch@netscape.net wrote: > >> Hi, >> >> I am running activePerl 5.6 on win98se. When I run these statements: >> >> system("...realplayer song1.mp3"); >> system("...realplayer song2.mp3"); >> system("...realplayer song3.mp3"); >> >> I expect the three songs to be played in sequence. Instead only song3 is >> played. It seems all three system() function are executed but one >> overrides the other. I believe Perl waits for system() to finish >> before continuing. Is it not so in the PC environment? Thanks > > > Yes, system does a fork, exec, wait (or some rough equivalent). > > However, I don't know what the semantics of calling "...realplayer" are. > Some programs perform an action, and don't exit/return to the caller > until the action is done. Other programs are just interfaces to some > daemon process, and will exit/return as soon as they've relayed the > appropriate command to the daemon process. My guess is that realplayer > does the latter, so each invocation to "...realplayer" just sends a > command to the realplayer daemon to tell it to start a new song. > > There might be an option to "...realplayer" to tell it to wait until > the song finishes before returning, I don't know. Or, there might > be some interface you could call which would tell you the currently > playing song, and your script would have to loop, checking which song > is playing and sleeping until it's time to start the next song. > From ofer at netapt.com Fri Feb 25 21:31:25 2005 From: ofer at netapt.com (Ofer Nave) Date: Fri Feb 25 21:31:40 2005 Subject: [LA.pm] Parallel::Simple In-Reply-To: Message-ID: Hey, I just finished coding, testing, and documenting a module that I've written for CPAN. I wanted to get some feedback here on it before I upload it. This is my first CPAN module ever, so please feel free to tear it apart. I'll take feedback on anything - design, code style, pod style, doc effectiveness, and especially bugs. I'm not sure what you all prefer, so I'm attaching it as a file, including it in the body of the message below, and providing a link to download it: http://ofernave.com/pm/Simple.pm Choose your access method. :) After some polishing up, I'll write some tests for it and package it up in the standard CPAN module format before uploading it. Thanks! -ofer -------------- next part -------------- package Parallel::Simple; use strict; require Exporter; use vars qw( $VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS ); $VERSION = '0.01'; @ISA = qw(Exporter); @EXPORT = qw(); @EXPORT_OK = qw(prun); my $error; my $return_values; sub prun { run( @_ ) } sub err { $error } sub errplus { "$error\n" . ( ref($return_values) =~ /HASH/o ? join( '', map { "\t$_ => $return_values->{$_}\n" } sort keys %$return_values ) : join( '', map { "\t$_ => $return_values->[$_]\n" } 0..$#$return_values ) ); } sub rv { $return_values } sub run { my %options = %{shift @_} if ( ref($_[0]) =~ /HASH/o ); # grab options, if specified # normalize named and unnamed blocks into similar structure to simplify main loop my $named = ref($_[0]) ? 0 : 1; # if first element is a subref, they're not named my $i = 0; # used to turn array into hash with array-like keys my %blocks = $named ? @_ : map { $i++ => $_ } @_; my %child_registry; # pid => [ name, return value ] # fork children while ( my ( $name, $block ) = each %blocks ) { my $child = fork(); unless ( defined $child ) { $error = "$!"; last; # something's wrong; stop trying to fork } if ( $child == 0 ) { # child my $return_value = eval { &$block }; exit( $@ ? 255 : $options{use_return} ? $return_value : 0 ); } $child_registry{$child} = [ $name, undef ]; } # wait for children to finish my $successes = 0; my $child; do { $child = waitpid( -1, 0 ); if ( $child > 0 and exists $child_registry{$child} ) { $child_registry{$child}[1] = $? >> 8; $successes++ if ( $? == 0 ); } } while ( $child > 0 ); # store return values using appropriate data type $return_values = $named ? { map { $_->[0] => $_->[1] } values %child_registry } : [ map { $_->[1] } sort { $a->[0] <=> $b->[0] } values %child_registry ]; my $num_blocks = keys %blocks; return 1 if ( $successes == $num_blocks ); # all good! $error = "only $successes of $num_blocks blocks completed successfully"; return 0; # sorry... better luck next time } 1; __END__ =head1 NAME Parallel::Simple - the simplest way to run code blocks in parallel =head1 SYNOPSIS use Parallel::Simple qw( prun ); # Style 1 - Simple List of Code Blocks prun( sub { print "$$ foo\n" }, sub { print "$$ bar\n" }, ) or die( Parallel::errplus ); # Style 1 with options prun( { use_return => 1 }, sub { print "$$ foo\n" }, sub { print "$$ bar\n" }, ) or die( Parallel::errplus ); # Style 2 - Named Code Blocks (like the Benchmark module) prun( foo => sub { print "$$ foo\n" }, bar => sub { print "$$ bar\n" }, ) or die( Parallel::errplus ); =head1 DESCRIPTION I generally write my scripts in a linear fashion. Do A, then B, then C. However, I often have parts that don't depend on each other, and therefore don't have to run in any particular order, or even linearly. I could save time by running them in parallel - but I'm too lazy to deal with forking, and reaping zombie processes, and other nastiness. The goal of this module is to make it so mind-numbingly simple to run blocks of code in parallel that there is no longer any excuse not to do it, and in the process, drastically cut down the runtimes of many of our applications, especially when running on multi-processor servers (which are pretty darn common these days). Parallel code execution is now as simple as calling B and passsing it a list of code blocks to run, followed by testing the return value for truth using the common "or die" perl idiom. =head1 EXPORTS By default, Parallel::Simple does not export any symbols, in which case you would generally do this: use Parallel::Simple; Parallel::Simple::run( ... ); You can choose to export the B subroutine, which is a synonym for B: use Parallel::Simple qw(prun); prun( ... ); I recommend the second. It will let you be lazier, thereby increasing the probability of you taking advantage of this module. Plus, I think 'prun' sounds cooler than just 'run'. =head1 METHODS All of the following may be called as class methods: Parallel::Simple->run() Or as normal subroutines: Parallel::Simple::run() =over =item B Synonym for B. =item B Runs multiple code blocks in parallel by forking a process for each one and returns when all processes have exited. =over =head2 Style 1 - Simple List of Code Blocks In its simplest form (which is what we're all about here), B takes a list of code blocks and then forks a process to run each block. It returns true if all processes exited with exit value 0, false otherwise. Example: prun( sub { print "$$ foo\n" }, sub { print "$$ bar\n" }, ) or die( Parallel::errplus ); By default, the exit value will be 255 if the code block dies or throws any exceptions, or 0 if it doesn't. You can exercise more control over this by using the B option (documented below) and returning values from your code block. If B returns false and you want to see what went wrong, try the B, B, and B methods documented below - especially B which will tell you the exit values of the processes that ran the code blocks. =back =over =head2 Style 2 - Named Code Blocks Alternatively, you can specify names for all of your code blocks by using the common "named params" perl idiom. The only benefit you get from this currently is an improved lookup method for code block return values (see B for more details). Example: prun( foo => sub { print "$$ foo\n" }, bar => sub { print "$$ bar\n" }, ) or die( Parallel::errplus ); Other than looking nicer, this behaves identical to the Style 1 example. =back =over =head2 Options You can optionally pass a reference to a hash containing additional options as the first argument. Example: prun( { use_return => 1 }, sub { print "$$ foo\n" }, sub { print "$$ bar\n" }, ) or die( Parallel::errplus ); There is currently only one option: =over =item B By default, the return values for the code blocks, which are retrieved using the B method, will be 0 if the code block executed normally or 255 if the code block died or threw any exceptions. By default, any value the code block returns is ignored. If you use the B option, then the return value of the code block is used as the return value (unless the code block dies or throws an exception, in which case the return value will still be 255). This value is passed to the exit function, so please please please use only number between 0 and 255! =back =back =item B Returns a string describing the last error that occured, or undef if there has not yet been any errors. Currently, only two error messages are possible: =over =item * if the call to fork fails, B returns the contents of $! =item * if any blocks fail, B returns a message describing how many blocks failed out of the total =back =item B Returns different value types depending on whether or not you used named code blocks: =over =item Style 1 (not using named code blocks) returns a reference to an array containing the return values of the code blocks in the order they were passed to B =item Style 2 (using named code blocks) returns a reference to a hash, where keys are the code block names, and values are the return values of the respective code block =back See the B option for the B method for more details on how to control return values. =item B Returns a string containing the return value of B plus a nicely formatted version of the return value of B. =back =head1 PLATFORM SUPPORT This module was developed and tested on Red Hat Linx 9.0, kernel 2.6.11, and perl v5.8.4 built for i686-linux-thread-multi. I have not tested it anywhere else. This module is obviously limited to platforms that have a working fork implementation. I would appreciate any feedback from people using this module in different environments, whether it worked or not, so I can note it here. =head1 FUTURE The world could probably use a thread-based version of the B function, but I have never done threads. =head1 SEE ALSO L, L, and L are all similarly themed, and offer different interfaces and advanced features. I suggest you skim the docs on all three (in addition to mine) before choosing the right one for you. =head1 AUTHORS Written by Ofer Nave Eonave@shopzilla.comE. Sponsered by Shopzilla, Inc. (formerly BizRate.com). =head1 COPYRIGHT Copyright 2005 by Shopzilla, Inc. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See F =cut From kevin+lapm at scaldeferri.com Sat Feb 26 00:33:34 2005 From: kevin+lapm at scaldeferri.com (Kevin Scaldeferri) Date: Sat Feb 26 00:33:48 2005 Subject: [LA.pm] Parallel::Simple In-Reply-To: References: Message-ID: Hi Ofer, On Feb 25, 2005, at 9:31 PM, Ofer Nave wrote: > > Hey, > > I just finished coding, testing, and documenting a module that I've > written for CPAN. I wanted to get some feedback here on it before I > upload it. > > This is my first CPAN module ever, so please feel free to tear it > apart. > I'll take feedback on anything - design, code style, pod style, doc > effectiveness, and especially bugs. > Here are a couple quick comments I had. First, I think it's almost always good to 'use warnings'. You probably ought to initialize $error and $return_values. Otherwise you might have some problems if someone did something odd like run()ing no processes then checking the results. You might also want to explicitly reset those globals at the start of run() as well. For that matter, there may be some other things that don't work out right if the number of code refs to run is 0. I also have an objection to the terminology you are using in the code and documentation. You refer to "blocks" when I think that you really mean "code references". > After some polishing up, I'll write some tests for it and package it > up in > the standard CPAN module format before uploading it. tsk tsk... you should write your tests first! Hope this is helpful, Kevin From jkeen at verizon.net Sat Feb 26 06:54:34 2005 From: jkeen at verizon.net (James Keenan) Date: Sat Feb 26 06:54:43 2005 Subject: [LA.pm] Parallel::Simple In-Reply-To: References: Message-ID: <2b7b258220cfc61af8b737bd4846a24d@verizon.net> On Feb 26, 2005, at 3:33 AM, Kevin Scaldeferri wrote: > On Feb 25, 2005, at 9:31 PM, Ofer Nave wrote: > >> >> I just finished coding, testing, and documenting a module that I've >> written for CPAN. I wanted to get some feedback here on it before I >> upload it. >> >> This is my first CPAN module ever, so please feel free to tear it >> apart. >> I'll take feedback on anything - design, code style, pod style, doc >> effectiveness, and especially bugs. >> > > First, I think it's almost always good to 'use warnings'. > > You probably ought to initialize $error and $return_values. Otherwise > you might have some problems if someone did something odd like > run()ing no processes then checking the results. You might also want > to explicitly reset those globals at the start of run() as well. > > For that matter, there may be some other things that don't work out > right if the number of code refs to run is 0. > > I also have an objection to the terminology you are using in the code > and documentation. You refer to "blocks" when I think that you really > mean "code references". > I agree on all points. > >> After some polishing up, I'll write some tests for it and package it >> up in >> the standard CPAN module format before uploading it. > > I would add that testing is particularly important in this case because of the considerable number of system calls which the module inherently does. From ofer at netapt.com Sun Feb 27 13:21:17 2005 From: ofer at netapt.com (Ofer Nave) Date: Sun Feb 27 13:21:26 2005 Subject: [LA.pm] Parallel::Simple In-Reply-To: Message-ID: Thanks for the feedback. Comments inline: On Sat, 26 Feb 2005, Kevin Scaldeferri wrote: > Here are a couple quick comments I had. > > First, I think it's almost always good to 'use warnings'. You're right. I always use -w in my scripts, so I take it for granted that my code always runs with warnings on. But in the context of a CPAN module, that is a good suggestion. Done. > You probably ought to initialize $error and $return_values. Otherwise > you might have some problems if someone did something odd like run()ing No reason to. I would only initiliaze them to undef to signify that they have not yet been defined, but perl does this to new variables automatically. > no processes then checking the results. You might also want to > explicitly reset those globals at the start of run() as well. Now, THIS is a bona-fide bug. I could have sworn I was doing that at some point, but I guess the code got lost in the chaos of development. I'll add that back in. > For that matter, there may be some other things that don't work out > right if the number of code refs to run is 0. You know, I've been thinking about what's the most perlish way to handle 0 arguments. It's almost like a no-op. I suppose I should test for it and return true right away, since the philosophy of the module is true unless something has gone wrong - and nothing can go wrong with a no-op. > I also have an objection to the terminology you are using in the code > and documentation. You refer to "blocks" when I think that you really > mean "code references". Code references would be the most correct name, perhaps, but I belive code blocks is not incorrect (subtle difference), and is a much more expressive word. I like the terminology to invoke a visual sense of the concepts that are being represented, and when I call prun, I don't visual passing references, I visals blocks of code running in parallel. I apologize for the outdated page references - I've still got the 2nd edition of Programming Perl: [page 97] "A sequence of statements that defines a scope is called a block." "When we mean a block with braces, we'll use the term BLOCK." [page 111] "To define an anonymous subroutine or closure at run-time, use a statement like: $subref = sub BLOCK;" I guess we could compromise on calling the passed-in values references to code blocks. :) > > After some polishing up, I'll write some tests for it and package it > > up in > > the standard CPAN module format before uploading it. > > tsk tsk... you should write your tests first! Well, writing tests is going to involve studying tests for one or two popular/standard CPAN modules to get a feel for the style and tools, and then actually writing my own tests. That's a lot of time invested for a module that might change drasticly in the next few days in response to feedback. Rest assured I will have tests for it before it's shipped. (Besides, I always test my code to some degree as I write it. Just not as formal 'tests'.) > Hope this is helpful, It is! -ofer From ofer at netapt.com Sun Feb 27 13:23:43 2005 From: ofer at netapt.com (Ofer Nave) Date: Sun Feb 27 13:23:51 2005 Subject: [LA.pm] Parallel::Simple In-Reply-To: <2b7b258220cfc61af8b737bd4846a24d@verizon.net> Message-ID: On Sat, 26 Feb 2005, James Keenan wrote: > > On Feb 25, 2005, at 9:31 PM, Ofer Nave wrote: > > > >> After some polishing up, I'll write some tests for it and package it > >> up in > >> the standard CPAN module format before uploading it. > > I would add that testing is particularly important in this case because > of the considerable number of system calls which the module inherently > does. There are only two - fork() and waitpid(). In fact, there are only four functions called in the entire module - those two plus exit() and eval(). Actually, the docs make up 75% of the file. :) -ofer From kevin+lapm at scaldeferri.com Sun Feb 27 14:21:16 2005 From: kevin+lapm at scaldeferri.com (Kevin Scaldeferri) Date: Sun Feb 27 14:21:27 2005 Subject: [LA.pm] Parallel::Simple In-Reply-To: References: Message-ID: On Feb 27, 2005, at 1:21 PM, Ofer Nave wrote: > >> You probably ought to initialize $error and $return_values. Otherwise >> you might have some problems if someone did something odd like >> run()ing > > No reason to. I would only initiliaze them to undef to signify that > they > have not yet been defined, but perl does this to new variables > automatically. > Won't errplus() fail trying to dereference an undef value? Also, with warnings on, it could complain about interpolating $error if it is undef. Actually, looking more closely at this, I notice that $return_values is sometimes a hash ref and sometimes an array ref. I think that this is probably a bad idea, and it also makes it unclear just what you would initialize it to. -kevin From ofer at netapt.com Sun Feb 27 15:26:40 2005 From: ofer at netapt.com (Ofer Nave) Date: Sun Feb 27 15:26:50 2005 Subject: [LA.pm] Parallel::Simple In-Reply-To: Message-ID: (BTW-Having people actually looking at and commenting on my code is exhilirating. I can see contributing to CPAN becoming an addiction. :) On Sun, 27 Feb 2005, Kevin Scaldeferri wrote: > On Feb 27, 2005, at 1:21 PM, Ofer Nave wrote: > > > > >> You probably ought to initialize $error and $return_values. Otherwise > >> you might have some problems if someone did something odd like > >> run()ing > > > > No reason to. I would only initiliaze them to undef to signify that > > they > > have not yet been defined, but perl does this to new variables > > automatically. > > > > Won't errplus() fail trying to dereference an undef value? Also, with > warnings on, it could complain about interpolating $error if it is > undef. Yes, good catch. I should detect and return undef in the errplus method. If prun has never been called, then any error or return values will be undefined, so returning undef in that case seems correct. > Actually, looking more closely at this, I notice that $return_values is > sometimes a hash ref and sometimes an array ref. I think that this is > probably a bad idea, and it also makes it unclear just what you would > initialize it to. Yes, I was trying to be clever and provide return values in the same structure that the code blocks were passed in. It seemed appropriate, even if it does violate traditional wisdom. I could standardize on always returning hashrefs, and using array indices as keys when you don't used named code blocks, which would look like this: my $success = prun( sub { print "foo!\n" }, sub { die( "arrg!" ) }, ); unless ( $success ) { my $rv = Parallel::Simple::rv(); while ( my ( $block, $exit_value ) = each %$rv ) { print "$block => $exit_value\n"; } } which would look like this: 0 => 0 1 => 255 But using array indices as hash keys makes me queasy. I imagine most people will just pass the value of errplus to die and be done with it, in which case it all works. If they want to pay special attention to the return value of a particular block, they can do to as well, in a natural way: # Style 1 prun( sub { print "foo!\n" }, sub { die( "arrg!" ) }, ) or die( "first child exit with: " . Parallel::Simple::rv()->[0] ); # Style 2 prun( foo => sub { print "foo!\n" }, bar => sub { die( "arrg!" ) }, ) or die( "first child exit with: " . Parallel::Simple::rv()->{foo} ); See? -ofer