From mlehmann at marklehmann.com Tue Jan 7 21:23:30 2003 From: mlehmann at marklehmann.com (Mark Lehmann) Date: Mon Aug 2 21:23:16 2004 Subject: APM: Next Meeting Wednesday Janyary 22nd Message-ID: <15899.39346.270254.467224@lehmbrain.marklehmann.com> It's a new year and we have several Monthly meeting presentations lined up. When/Where ========== Tek Systems. 6:30pm. Go to the website (http://austin.pm.org) for directions. What ==== Summary from the presenter: PHP is an open-source scripting language desgined for producing dynamic web pages. My presentation will provide an brief overview of PHP, with a few examples. The subject areas I intend to cover are: 1. Introduction 2. Typical Applications 3. Getting Started - Installation 4. The Basics 5. Persistant Data 6. Database Access 7. Object Oriented Features 8. Additional Resources Please email me: sbauer@jump.net if you have any other topics you wish to see covered. Dinner ====== A group will meet a Pok-e-Jo's Barbecue in the Arboretum at 5:30 for dinner and networking. Beverages and Networking ======================== At 8:00pm after the presentation, we will gather at B.B. Rover's for food, drink and more networking. Website ======= We've updated the website look and feel, thanks for website developer Dewayne Mangan. I'll be diligent about keeping it up to date. Reference the Austin Perl Mongers website at http://austin.pm.org for location details. -- Mark Lehmann email mlehmann@marklehmann.com | phone 512 689-7705 From mlehmann at marklehmann.com Wed Jan 8 16:52:49 2003 From: mlehmann at marklehmann.com (Mark Lehmann) Date: Mon Aug 2 21:23:16 2004 Subject: APM: Need reviewed for Perl LDAP book Message-ID: <15900.43969.463472.446536@lehmbrain.marklehmann.com> Manning is willing to donate this book to a reviewer in our group. Let me know if you want to review this book, write up the review, and talk about it at one of the monthly meetings. Send me an email if you want to do this. ======================= MANNING PRESS RELEASE ======================= Attention Perl Mongers --- Manning Publications announces the release of: LDAP Programming, Management and Integration by Clayton Donley To learn more about this book and find out how to get a free review copy for your user group, please read on ... Greenwich, CT -- Manning Publications has released LDAP Programming, Management and Integration by LDAP authority, Clayton Donley. The book covers concisely the LDAP standard and how to work with it in Java and Perl. It gives readers the code and practical advice for migrating and integrating data into an LDAP environment. It also explains how to increase an application's security using identity and profile information from LDAP repositories. LDAP Programming, Management and Integration is written for network and system administrators as well as application developers. What is Inside -- - Migrating to standards-based directories - Directory synchronization - Authenticating and authorizing users - Security with digital certificates - How to work with XML's DSML v1 and v2 - Accessing directories with Perl - How JNDI enables adding security, personalization and white pages - Covers LDAPv3 Clayton Donley has been an active participant on directory standards bodies for years. His LDAP knowledge is broad and deep and he uses it to create practical code examples and clearly explain the LDAP practiced in the trenches. He lives in the Chicago, Illinois, area and is available for presentations this Spring. Manning's User Group Program -- Manning supports the grassroots efforts of the User Group community. A goal of Manning's User Group Program is to foster relationships with technical communities that--in addition to meeting regularly--troubleshoot, write book reviews, and share knowledge through newsletters or Web sites. Manning will provide a free book for presentation at meetings, for group libraries or for door prizes in exchange for a written published review. -- Mark Lehmann email mlehmann@marklehmann.com | phone 512 689-7705 From michalk at awpi.com Thu Jan 9 12:45:41 2003 From: michalk at awpi.com (Brian Michalk) Date: Mon Aug 2 21:23:16 2004 Subject: APM: Interesting hash side effect In-Reply-To: <15900.43969.463472.446536@lehmbrain.marklehmann.com> Message-ID: I have had a nagging bug that I finally figured out. I found that in some cases checking to see if a hash element is defined will add to the hash. The following line: 103 if (defined $self->{keys}{cfg}{$varname}{ref_sub}) { will add the hash element, $self->{keys}{cfg}{$varname}. I had to change my code to the following in order to get it to work correctly. 102 if (defined $self->{keys}{cfg}{$varname}) { 103 if (defined $self->{keys}{cfg}{$varname}{ref_sub}) { 104 return $self->{keys}{cfg}{$varname}{ref_sub}; 105 } 106 } else { 107 return undef; 108 } I hope this helps anyone else who cares. From ezra at jdba.org Thu Jan 9 14:59:20 2003 From: ezra at jdba.org (ezra pagel) Date: Mon Aug 2 21:23:16 2004 Subject: APM: Interesting hash side effect In-Reply-To: References: Message-ID: <1042145959.23843.26.camel@otoro> yeah brian, sometimes autovivification is a mixed blessing. this behavior is discussed in the documentation for exists(). On Thu, 2003-01-09 at 12:45, Brian Michalk wrote: > I have had a nagging bug that I finally figured out. > I found that in some cases checking to see if a hash element is defined will > add to the hash. > The following line: > 103 if (defined $self->{keys}{cfg}{$varname}{ref_sub}) { > will add the hash element, $self->{keys}{cfg}{$varname}. I had to change my > code to the following in order to get it to work correctly. > > 102 if (defined $self->{keys}{cfg}{$varname}) { > 103 if (defined $self->{keys}{cfg}{$varname}{ref_sub}) { > 104 return $self->{keys}{cfg}{$varname}{ref_sub}; > 105 } > 106 } else { > 107 return undef; > 108 } > > I hope this helps anyone else who cares. > > _______________________________________________ > Austin mailing list > Austin@mail.pm.org > http://mail.pm.org/mailman/listinfo/austin -- ====================================================================== Ezra Pagel Software Engineer Perl/Java/Oracle ezra@jdba.org Austin Logistics, Inc. epagel@austinlogistics.com Austin, Texas (512)-651-5644 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/austin/attachments/20030109/0134dedb/attachment.htm From msouth at fulcrum.org Thu Jan 9 15:31:36 2003 From: msouth at fulcrum.org (Mike South) Date: Mon Aug 2 21:23:16 2004 Subject: APM: Interesting hash side effect Message-ID: <200301092131.QAA29219@scan.shodor.org> Brian, looks like you're not the only one surprised by this: [From the POD on the exists() function (type "perldoc -f exists" at your command prompt):] Note that the EXPR can be arbitrarily complicated as long as the final operation is a hash or array key lookup or subroutine name: if (exists $ref->{A}->{B}->{$key}) { } if (exists $hash{A}{B}{$key}) { } if (exists $ref->{A}->{B}->[$ix]) { } if (exists $hash{A}{B}[$ix]) { } if (exists &{$ref->{A}{B}{$key}}) { } Although the deepest nested array or hash will not spring into existence just because its existence was tested, any intervening ones will. Thus "$ref->{"A"}" and "$ref->{"A"}->{"B"}" will spring into existence due to the existence test for the $key element above. This happens anywhere the arrow operator is used, including even: undef $ref; if (exists $ref->{"Some key"}) { } print $ref; # prints HASH(0x80d3d5c) This surprising autovivification in what does not at first--or even second--glance appear to be an lvalue context may be fixed in a future release. In one part of the perlref documentation, it seems to imply that autovivification only happens in lvalue situtations, which is what I think the author of the above text is referring to. In another part it just says References of the appropriate type can spring into existence if you dereference them in a context that assumes they exist. So, it looks like this is one of those, for now. mike >From: "Brian Michalk" >To: "Mark Lehmann" , > "Austin Perl Mongers" >Subject: APM: Interesting hash side effect >Date: Thu, 9 Jan 2003 12:45:41 -0600 > >I have had a nagging bug that I finally figured out. >I found that in some cases checking to see if a hash element is defined will >add to the hash. >The following line: > 103 if (defined $self->{keys}{cfg}{$varname}{ref_sub}) { >will add the hash element, $self->{keys}{cfg}{$varname}. I had to change my >code to the following in order to get it to work correctly. > > 102 if (defined $self->{keys}{cfg}{$varname}) { > 103 if (defined $self->{keys}{cfg}{$varname}{ref_sub}) { > 104 return $self->{keys}{cfg}{$varname}{ref_sub}; > 105 } > 106 } else { > 107 return undef; > 108 } > >I hope this helps anyone else who cares. From Goldilox at teachnet.edb.utexas.edu Thu Jan 9 19:05:07 2003 From: Goldilox at teachnet.edb.utexas.edu (Goldilox) Date: Mon Aug 2 21:23:16 2004 Subject: APM: RegEx question Message-ID: What's the difference? Latter version doesn't work. Do RegEx's associate (or whatever the word is when $& becomes defined) at compile time or run time? unless($timeinfo=~/@/g){$timeinfo=~m!^(\w+)\s(\d\d),\s(\d{4})$!;$month=$1;$day=$2;$year=$3;} else{$timeinfo=~m!^(\w+)\s(\d\d),\s(\d{4})\s\@\s(\d\d):(\d\d)\s(\w\w)$!;$month=$1;$day=$2;$year=$3;} } vs unless($timeinfo=~/@/g){$timeinfo=~m!^(\w+)\s(\d\d),\s(\d{4})$!;} else{$timeinfo=~m!^(\w+)\s(\d\d),\s(\d{4})\s\@\s\d\d:\d\d\s\w\w$!;} $month=$1; $day=$2; $year=$3; } Rhett From wwalker at broadq.com Thu Jan 9 19:56:11 2003 From: wwalker at broadq.com (Wayne Walker) Date: Mon Aug 2 21:23:16 2004 Subject: APM: RegEx question In-Reply-To: ; from Goldilox@teachnet.edb.utexas.edu on Thu, Jan 09, 2003 at 07:05:07PM -0600 References: Message-ID: <20030109195611.A4975@broadq.com> I can't find the reference to back it up, but $1, $2, ... are locally scoped. That is, they disappear when you leave the block ({ ... }) they were created (by the regex call) in. On Thu, Jan 09, 2003 at 07:05:07PM -0600, Goldilox wrote: > What's the difference? Latter version doesn't work. Do RegEx's associate (or > whatever the word is when $& becomes defined) at compile time or run time? > > unless($timeinfo=~/@/g){$timeinfo=~m!^(\w+)\s(\d\d),\s(\d{4})$!;$month=$1;$day=$2;$year=$3;} > else{$timeinfo=~m!^(\w+)\s(\d\d),\s(\d{4})\s\@\s(\d\d):(\d\d)\s(\w\w)$!;$month=$1;$day=$2;$year=$3;} > } > > vs > > unless($timeinfo=~/@/g){$timeinfo=~m!^(\w+)\s(\d\d),\s(\d{4})$!;} > else{$timeinfo=~m!^(\w+)\s(\d\d),\s(\d{4})\s\@\s\d\d:\d\d\s\w\w$!;} > $month=$1; > $day=$2; > $year=$3; > } > > Rhett > > _______________________________________________ > Austin mailing list > Austin@mail.pm.org > http://mail.pm.org/mailman/listinfo/austin -- Wayne Walker www.broadq.com :) Bringing digital video and audio to the living room And the "Wizard of Bill" says "Please ignore the crash behind the Windows." From mlehmann at marklehmann.com Mon Jan 20 23:21:34 2003 From: mlehmann at marklehmann.com (Mark Lehmann) Date: Mon Aug 2 21:23:16 2004 Subject: APM: Meeting this Wednesday 6:30 @ TekSystems Message-ID: <15916.55518.809302.806939@lehmbrain.marklehmann.com> It's a new year and we have several Monthly meeting presentations lined up. When/Where ========== Tek Systems. 6:30pm. Go to the website (http://austin.pm.org) for directions. Who === Our own Steve Bauer. What ==== Summary from the presenter: PHP is an open-source scripting language desgined for producing dynamic web pages. My presentation will provide an brief overview of PHP, with a few examples. The subject areas I intend to cover are: 1. Introduction 2. Typical Applications 3. Getting Started - Installation 4. The Basics 5. Persistant Data 6. Database Access 7. Object Oriented Features 8. Additional Resources Please email me: sbauer@jump.net if you have any other topics you wish to see covered. Dinner ====== A group will meet a Pok-e-Jo's Barbecue in the Arboretum at 5:30 for dinner and networking. This is a great way to talk about programming opportunities. Beverages and Networking ======================== At 8:00pm after the presentation, we will gather at B.B. Rover's for food, drink and more networking. Website ======= We've updated the website look and feel, thanks for website developer Dewayne Mangan. I'll be diligent about keeping it up to date. Reference the Austin Perl Mongers website at http://austin.pm.org for location details. -- Mark Lehmann email mlehmann@marklehmann.com | phone 512 689-7705