MESSAGE
DATE | 2021-04-05 |
FROM | Gabor Szabo
|
SUBJECT | Subject: [Learn] [Perlweekly] #506 - Perl Memory Management
|
From learn-bounces-at-nylxs.com Mon Apr 5 14:07:08 2021 Return-Path: X-Original-To: archive-at-mrbrklyn.com Delivered-To: archive-at-mrbrklyn.com Received: from www2.mrbrklyn.com (www2.mrbrklyn.com [96.57.23.82]) by mrbrklyn.com (Postfix) with ESMTP id A2084163FBB; Mon, 5 Apr 2021 14:07:07 -0400 (EDT) X-Original-To: learn-at-www2.mrbrklyn.com Delivered-To: learn-at-www2.mrbrklyn.com Received: by mrbrklyn.com (Postfix, from userid 1000) id 4C904163FB3; Mon, 5 Apr 2021 11:19:41 -0400 (EDT) Resent-From: Ruben Safir Resent-Date: Mon, 5 Apr 2021 11:19:41 -0400 Resent-Message-ID: <20210405151941.GC19209-at-www2.mrbrklyn.com> Resent-To: learn-at-mrbrklyn.com X-Original-To: ruben-at-mrbrklyn.com Delivered-To: ruben-at-mrbrklyn.com Received: from s8.hostlocal.com (s8.hostlocal.com [50.116.59.34]) by mrbrklyn.com (Postfix) with ESMTP id B7BC8163FAC for ; Mon, 5 Apr 2021 03:31:22 -0400 (EDT) Received: from s8.hostlocal.com (localhost [IPv6:::1]) by s8.hostlocal.com (Postfix) with ESMTP id B5EE6C71B; Mon, 5 Apr 2021 07:30:33 +0000 (UTC) X-Original-To: perlweekly-at-perlweekly.com Delivered-To: perlweekly-at-s8.hostlocal.com Received: from s7.hostlocal.com (s7.hostlocal.com [IPv6:2600:3c00::f03c:91ff:fedf:456f]) by s8.hostlocal.com (Postfix) with ESMTPS id D37EAC002 for ; Mon, 5 Apr 2021 07:30:12 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by s7.hostlocal.com (Postfix) with ESMTP id 498FB3E92D for ; Mon, 5 Apr 2021 07:30:11 +0000 (UTC) MIME-Version: 1.0 X-Mailer: MIME::Lite 3.031 (F2.85; T2.17; A2.21; B3.15; Q3.13) Date: Mon, 5 Apr 2021 07:30:11 +0000 From: Gabor Szabo To: perlweekly-at-perlweekly.com Message-Id: <20210405073011.498FB3E92D-at-s7.hostlocal.com> X-Mailman-Approved-At: Mon, 05 Apr 2021 07:30:31 +0000 X-BeenThere: perlweekly-at-perlweekly.com X-Mailman-Version: 2.1.16 Precedence: list Content-Type: multipart/mixed; boundary="===============2102618683535161491==" X-Mailman-Approved-At: Mon, 05 Apr 2021 14:07:06 -0400 Subject: [Learn] [Perlweekly] #506 - Perl Memory Management X-BeenThere: learn-at-nylxs.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: learn-bounces-at-nylxs.com Sender: "Learn"
This is a multi-part message in MIME format.
--===============2102618683535161491== Content-Transfer-Encoding: binary Content-Type: multipart/alternative; boundary="_----------=_16176078117990010"
This is a multi-part message in MIME format.
--_----------=_16176078117990010 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Mon, 5 Apr 2021 07:30:11 +0000
Perl Weekly=20
http://perlweekly.com/
You can read the newsletter on the web, if you prefer. http://perlweekly.com/archive/506.html
Hi there
One topic that rarely talked about with reference to Perl is "Memory Management". Could it be that, being a developer, you don't need to worry about it? Possibly yes as Perl garbage collection is very efficient. However you still have to take care of circular data structure manually. To get to the bottom of the matter, one has to be aware of two things, "ref count" and "weak ref". Can CPAN help me with it? Yes, there is a module Devel::Peek ( https://metacpan.org/pod/Devel::Peek ) available on CPAN. You can figure out about the "ref count". How about "weak ref" now? Well, again CPAN is handy, you have Scalar::Util ( https://metacpan.org/pod/Scalar::Util ) readily available on CPAN, which provides subroutine weaken() to create "weak ref". What is the point of creating "weak ref"? Well, in Perl, the "weak ref" doesn't affect the "ref count" and in a way helps you stop memory leak. I have yet to come across simple working example to demonstrate this behaviour. However, you might find the two recipes 11.15 ( https://docstore.mik.ua/orelly/perl4/cook/ch11_16.htm ) and 13.13 ( https://docstore.mik.ua/orelly/perl4/cook/ch13_14.htm ) from the good old friend, "Perl Cookbook, second edition" very useful. There is another post, The Trouble with Reference Counting ( https://www.perl.com/article/the-trouble-with-reference-counting ) by David Farrell is also very interesting.
Talking about book, I would recommend you take a look at Perl New Features ( https://leanpub.com/perl_new_features ) by brian d foy. This book will take you to a memorable journey from Perl v5.10 to v5.32.
To all readers from England, enjoy the Monday bank holiday and rest of world start your week on a happy note starting with the weekly newsletter.
-- Your editor: Mohammad S. Anwar.
Sponsors
=20=20 Code Maven courses https://code-maven.teachable.com/p/perl =20 Perl courses by Gabor Szabo --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Announcements
=20=20 Kent Fredric's CPAN distributions are available for adoption http://blogs.perl.org/users/neilb/2021/04/kent-fredrics-cpan-distribution= s.html =20 Neil appeal to all CPAN contributors if they are willing to adop Kent Fredric's distribution. --------------
=20=20 TPRCIC 2021 - Call for papers https://news.perlfoundation.org/post/tprcic2021callforpapers =20 The Perl and Raku Conference in the Cloud 2021 celebrates all things Perl and Raku from 8-10 June with group meetings (BOFs) on the Monday and Friday each side of the main event. --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Articles
=20=20 Switch lots of things on at once http://blogs.perl.org/users/ben_bullock/2021/03/switch-lots-of-things-on-= at-once.html =20 Interesting blog by Ben talking about boiler pate solution. --------------
=20=20 Security Issues in Perl IP Address distros https://blog.urth.org/2021/03/29/security-issues-in-perl-ip-address-distr= os/ =20 Security Issues in Perl IP Address distros. --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Discussion
=20=20 The Zen of Test Suites https://dev.to/ovid/the-zen-of-test-suites-304f =20 This should be serve as text for any beginner learning to code. I find it very useful and would definitely bookmark it for future reference. --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Web
=20=20 Monthly Report - March http://blogs.perl.org/users/mohammad_s_anwar/2021/04/monthly-report---mar= ch-2.html =20 Following the tradition, here is my monthly report for March 2020. --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
CPAN
=20=20 CPAN Report 2020 http://neilb.org/2021/03/03/cpan-report-2021.html =20 Neil came up with extensive report with regard to the activities on CPAN = in the year 2020. --------------
=20=20 CPAN utils https://dev.to/thibaultduponchelle/cpan-utils-4g4p =20 Cool collection of CPAN utils ever. --------------
=20=20 Distar - A CPAN Distribution Author Tool https://dev.to/haarg/distar-a-cpan-distribution-author-tool-5e95 =20 Check out the introduction to Distar, new shiny handy tool for CPAN distribution author. --------------
=20=20 A pull request for Crypt::LE https://github.polettix.it/ETOOBUSY/2021/03/30/crypt-le-pr/ =20 Flavio contribution to Crypt::LE is very handy. Please checkout it. --------------
=20=20 Date::Parse https://github.polettix.it/ETOOBUSY/2021/04/04/date-parse/ =20 Flavio shared the power of Date::Parse. Find out yourself the secret. --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Perl Weekly Challenge The Weekly Challenge ( https://perlweeklychallenge.org/ ) by Mohammad Anwar ( http://www.manwar.org/ ) will help you step out from your comfort-zone. You can even win prize money of $50 Amazon voucher by participating in the weekly challenge. We pick one winner at the end of each month among all the contributors during that month. The monthly prize is kindly sponsored by Peter Sergeant of PerlCareers ( https://perl.careers/ ). =20=20 The Weekly Challenge - 107 https://perlweeklychallenge.org/blog/perl-weekly-challenge-107 =20 Welcome a new week with couple of fun tasks "Self-descriptive Numbers" and "List Methods". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read FAQ ( https://perlweeklychallenge.org/faq ) page. --------------
=20=20 RECAP - The Weekly Challenge - 106 https://perlweeklychallenge.org/blog/recap-challenge-106 =20 Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Maximum Gap" and "Decimal String" tasks in Perl and Raku. You will find plenty of solutions to keep you busy. --------------
=20=20 Perl Weekly Challenge 106 https://aaronreidsmith.github.io/blog/perl-weekly-challenge-106/ =20 Once again, Aaron shared some cool Raku magic. Thanks and keep it up. --------------
=20=20 Perl Weekly Challenge 106: Maximum Gap https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-106-1.html =20 Abigail once again showing off his skill and presented his solutions in an elegant blog. --------------
=20=20 Perl Weekly Challenge 106: Decimal String https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-106-2.html =20 Abigail discussion about the Decimal String is too technical and worth reading. Thanks for sharing the knowledge. --------------
=20=20 Recursion and Repeated Decimals: The Weekly Challenge 106 http://www.rabbitfarm.com/cgi-bin/blosxom/perl/2021/04/04 =20 Adam's note section for the Decimal String task is eye opener for me. I will go back later to get the better understanding. --------------
=20=20 String the Gap with Raku https://raku-musings.com/string-gap.html =20 Arne always presents his case with reference document which gives you the complete picture. Keep it up. --------------
=20=20 Just Got Poked: Perl Weekly Challenge 106 and Other News https://jacoby.github.io/2021/04/03/just-got-poked-perl-weekly-challenge-= 106-and-other-news.html =20 Dave raised the notorious issue when printing decimal fraction using sprintf(). --------------
=20=20 PWC106 - Maximum Gap https://github.polettix.it/ETOOBUSY/2021/03/31/pwc106-maximum-gap/ =20 Flavio style of blogging is really cool as you not get the fine solution but also fun discussion as well. --------------
=20=20 PWC106 - Decimal String https://github.polettix.it/ETOOBUSY/2021/04/01/pwc106-decimal-string/ =20 Flavio took the pain to go beyond what was expected in the task. I need to revisit to get to the bottom of it. --------------
=20=20 Perl Weekly Challenge 106: Maximum Gap and Decimal String http://blogs.perl.org/users/laurent_r/2021/04/perl-weekly-challenge-106-m= aximum-gap-and-decimal-string.html =20 Laurent showing his expertise in multiple languages in the blog. Incredible. --------------
=20=20 Perl Weekly Challenge 106: quick and easy https://fluca1978.github.io/2021/03/29/PerlWeeklyChallenge106.html =20 Luca used his Raku skill and made both tasks look like school boy task. Simply the best. --------------
=20=20 Perl Weekly Challenge 106: Maximum Decimal https://blog.firedrake.org/archive/2021/03/Perl_Weekly_Challenge_106__Max= imum_Decimal.html =20 Roger shared the cool algorithm to deal with the Decimal String task. Thanks for sharing. --------------
=20=20 Weekly Challenge 106 https://dev.to/simongreennet/weekly-challenge-106-1cn7 =20 Simon shared his research while working on Decimal String task. We all get it for FREE, thank you. --------------
=20=20 Perl Weekly Challenge 106. https://wlmb.github.io/2021/03/29/PWC106/ =20 Just loved the hack for the Decimal String task. Beauty. --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Perl Tutorial A section for newbies and for people who need some refreshing of their Perl knowledge. If you have questions or suggestions about the articles, let me know and I'll try to make the necessary changes. The included articles are from the Perl Maven Tutorial ( https://perlmaven.com/perl-tutorial ) and are part of the Perl Maven eBook ( https://leanpub.com/perl-maven ). =20=20 Generate Calendar in ICal format https://perlmaven.com/generate-calendar-in-ical-format =20 This example was written in preparation of the calendar file provided by the Perl Weekly ( https://perlweekly.com/perlweekly.ical ) site that contains all the Perl-related events we are aware of from our events ( https://perlweekly.com/events.html ) page. There is also a calendar file ( https://code-maven.com/events.ics ) provided by the Code Maven site that include all the live events ( https://code-maven.com/live ). --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Videos
=20=20 Live Video - Maximum Gap by Lance Wicks https://www.youtube.com/watch?v=3DE4Bwh-FVTns =20 =20=20 --------------
=20=20 Live Video - Fun Time by Mohammad Anwar https://youtu.be/o67LcSa2bC8 =20 =20=20 --------------
=20=20 Live Video - Maximum Gap by Mohammad Anwar https://youtu.be/h8NppRqAZaE =20 =20=20 --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Rakudo
=20=20 2021.13 Games Pop https://rakudoweekly.blog/2021/03/29/2021-13-games-pop/ =20 =20=20 --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Weekly collections
=20=20 NICEPERL's lists http://niceperl.blogspot.com/ =20 Great modules released last week ( https://niceperl.blogspot.com/2021/04/cccxxxv-12-cpan-great-modules-relea sed.html ); MetaCPAN weekly report ( https://niceperl.blogspot.com/2021/04/cdlxi-metacpan-weekly-report-mojoli cious.html ); StackOverflow Perl report ( https://niceperl.blogspot.com/2021/04/cdlxxxiv-stackoverflow-perl-report. html ). --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
The corner of Gabor A couple of entries sneaked in by Gabor. =20=20 Exploring BDD in Perl - using Test::BDD::Cucumber - part 5 - with Erik H= =C3=BClsmann https://perlmaven.com/exploring-bdd-in-perl-5 =20 Event scheduled for April 11 --------------
=20=20 Live events https://code-maven.com/live =20 List of live events: Automation with Rex; Web application development with Mojolicious; BDD with Test::BDD::Cucumber. --------------
=20=20 Gabor self reporting for 2021.03 https://szabgab.com/report-2021-03.html =20 =20=20 --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Events
=20=20 Charlotte Perl Mongers - Presenting Mojolicious Nine Point Oh! https://www.meetup.com/charlotte-pm/ =20 Wednesday, March 31, 2021 --------------
=20=20 Houston Perl Mongers Online Meeting: Pairwise and Lightning Talks http://houston.pm.org/announce_meeting.html =20 April 8th, 2021 06:00 PM Central Time (US and Canada) --------------
=20=20 Purdue Perl Mongers - HackLafayette https://www.meetup.com/hacklafayette/ =20 Wednesday, April 14, 2021 --------------
=20=20 Toronto Perl Mongers Online Meeting https://www.meetup.com/Toronto-Perl-Mongers/ =20 Thursday, April 22, 2021 --------------
=20=20 Berlin Perl Mongers https://www.meetup.com/Berlin-Perl-Mongers/ =20 Wednesday, April 28, 2021 --------------
=20=20 Silicon Valley Perl - Git Hooks(Client-side) https://www.meetup.com/SVPerl/ =20 Thursday, May 6, 2021 --------------
=20=20 The Perl and Raku Conference in the Cloud 2021 https://news.perlfoundation.org/post/savethedatetprc2021 =20 Online 9-11 June 2021. --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
lweekly&utm_medium=3Dperlweekly">Perl Jobs by Perl Careers
=20=20 Mad Men (and women) of London. Perl in London https://job.perl.careers/mg6 =20 The leader in premium native advertising for technology, financial services, and corporate and lifestyle sectors, our client is the power behind the advertising throne for over 200 websites. This dynamic team is looking for a senior Perl programmer with a strong understanding of Go programming language, paradigms, constructs, and idioms. --------------
=20=20 That=E2=80=99s a Big Sandbox! Perl role in London https://job.perl.careers/53q =20 The client is interested in anyone with experience building web apps in Perl, using one of the major Perl frameworks. If you=E2=80=99re a crack-h= and with Catalyst, a Mojolicious master, or a distinguished Dance, they want you. You=E2=80=99ll be deploying apps your work to AWS, so experience would be= handy, and the company=E2=80=99s big on testing, so they=E2=80=99d like you to k= now your way around Test::More. --------------
=20=20 Smart Shopper =3D Smart Saver. Perl role in Vienna https://job.perl.careers/ahf =20 As one of the largest product and price comparison platforms in German-speaking countries, they share your dedication to finding consumers the best possible deal on electronics, technology, household appliances, and gaming systems. Best of all, they=E2=80=99re looking for candidates with strong Perl, but they make heavy use of PostgreSQL, Elasticsearch, and Modern Perl. --------------
=20=20 Grow Your Karma with a Job that Does Good! Perl role in Australia https://job.perl.careers/1r2 =20 Not all jobs are created equal. Sure, most pay the bills, but some do mor= e. They impart a sense of purpose; when you log out at day=E2=80=99s end, it= =E2=80=99s with the satisfaction that you are part of something bigger, something more important than yourself. You=E2=80=99ve left the world a little better th= an you found it, and isn=E2=80=99t that what life is really about? --------------
=20=20 The Future is Now! Perl Role in Malaysia https://job.perl.careers/sx1 =20 Our client is an online financial services company, still rapidly expandi= ng after 20 years of impressive growth. With a truly international presence, they=E2=80=99re well known globally in their niche. Looking for Perl deve= lopers with a strong background in Modern Perl =E2=80=93 you should be comfortab= le with Moose and PSGI/Plack, and a solid grounding in using Perl=E2=80=99s testi= ng tools. --------------
=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
You joined the Perl Weekly to get weekly e-mails about the Perl programming= language and related topics.
Want to see more? See the archives ( http://perlweekly.com/archive/ ) of al= l the issues.
Reading this as a non-subscriber? Join us free of charge. http://perlweekly= .com/
(C) Copyright Gabor Szabo http://szabgab.com/ The articles are copyright the respective authors.
You can freely redistribute this message if you keep the whole message intact, including the Copyright notice and this text.
If you don't want to receive mails any more you can unsubscribe here: http://perlweekly.com/unsubscribe.html
--_----------=_16176078117990010 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8 Date: Mon, 5 Apr 2021 07:30:11 +0000
1.0, user-scalable=3Dyes"> Perl Weekly Issue #506 - 2021-04-05 - Perl Memory Managemente>
color=3D"#ffffff">
background-color: #004065; color: #FFF; text-decoration: none; font-size: 40px; font-weight: bold; font-family: Gadget; =20=20=20=20 border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border: 1px solid #000; padding: 10px; ">Perl Weekly =20=20=20=20
style=3D"border-bottom: 1px solid #ccc; padding-bottom: 8px; font-size: 18px;"> Issue #506 - 2021-04-05 - Perl Memory Management
latest | https://perlweekly.com/archive">archive | edited by anwar.org/">Mohammad S. Anwar
=20
|
=20=20=20=20=20=20=20=20 Hi there
=20=20=20=20=20=20=20=20 One topic that rarely talked about with reference to Perl is "Memor= y Management". Could it be that, being a developer, you don't need to worry= about it? Possibly yes as Perl garbage collection is very efficient. Howev= er you still have to take care of circular data structure manually. To get = to the bottom of the matter, one has to be aware of two things, "ref count"= and "weak ref". Can CPAN help me with it? Yes, there is a module =3D"https://metacpan.org/pod/Devel::Peek">Devel::Peek available on CPAN= . You can figure out about the "ref count". How about "weak ref" now? Well,= again CPAN is handy, you have Util">Scalar::Util readily available on CPAN, which provides subroutine= weaken() to create "weak ref". What is the point of creating "weak ref"? W= ell, in Perl, the "weak ref" doesn't affect the "ref count" and in a way he= lps you stop memory leak. I have yet to come across simple working example = to demonstrate this behaviour. However, you might find the two recipes ref=3D"https://docstore.mik.ua/orelly/perl4/cook/ch11_16.htm">11.15 and= 13.13> from the good old friend, "Perl Cookbook, second edition" very useful. Th= ere is another post, th-reference-counting">The Trouble with Reference Counting by David Far= rell is also very interesting.
=20=20=20=20=20=20=20=20 Talking about book, I would recommend you take a look at "https://leanpub.com/perl_new_features">Perl New Features by brian d fo= y. This book will take you to a memorable journey from Perl v5.10 to v5.32.
=20=20=20=20=20=20=20=20 To all readers from England, enjoy the Monday bank holiday and rest= of world start your week on a happy note starting with the weekly newslett= er.
=20=20=20=20=20=20=20=20 Your editor: Mohammad S. Anwar.
| mg/mohammad_anwar.png" /> |
|
Sponsors =20=20=20=20=20=20=20=20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 =20=20=20=20
Announcementsiv> =20=20=20=20=20=20=20=20 | =20=20=20=20 | m/img/neil_bowers.png" title=3D"Neil Bowers" width=3D"80" /> | =20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 =20=20=20=20
Articles =20=20=20=20=20=20=20=20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 | m/img/dave_rolsky.png" title=3D"Dave Rolsky" width=3D"80" /> | =20 | =20=20=20=20 =20=20=20=20
Discussion =20=20=20=20=20=20=20=20 | =20=20=20=20 | m/img/curtis_ovid_poe.jpg" title=3D"Curtis 'Ovid' Poe" width=3D"80" /> | =20 | =20=20=20=20 =20=20=20=20
Web =20=20=20=20=20=20=20=20 | =20=20=20=20 | m/img/mohammad_anwar.png" title=3D"Mohammad S. Anwar" width=3D"80" /> | =20 | =20=20=20=20 =20=20=20=20
CPAN =20=20=20=20=20=20=20=20 | =20=20=20=20 | m/img/neil_bowers.png" title=3D"Neil Bowers" width=3D"80" /> | =20 | =20=20=20=20 | m/img/thibault_duponchelle.png" title=3D"Thibault Duponchelle" width=3D"80"= /> | =20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 | m/img/flavio_poletti.jpg" title=3D"Flavio Poletti" width=3D"80" /> | =20 | =20=20=20=20 | m/img/flavio_poletti.jpg" title=3D"Flavio Poletti" width=3D"80" /> | =20 | =20=20=20=20 =20=20=20=20
Perl Weekly Chal= lenge =20=20=20=20=20=20=20=20 enge.org/">The Weekly Challenge by M= ohammad Anwar will help you step out from your comfort-zone. You can ev= en win prize money of $50 Amazon voucher by participating in the weekly cha= llenge. We pick one winner at the end of each month among all the contribut= ors during that month. The monthly prize is kindly sponsored by Peter Serge= ant of PerlCareers. =20=20=20=20=20=20=20=20 | =20=20=20=20 | m/img/mohammad_anwar.png" title=3D"Mohammad S. Anwar" width=3D"80" /> | =20 | =20=20=20=20 | m/img/mohammad_anwar.png" title=3D"Mohammad S. Anwar" width=3D"80" /> | =20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 | m/img/adam_russel.png" title=3D"Adam Russell" width=3D"80" /> | =20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 | m/img/dave_jacoby.jpg" title=3D"Dave Jacoby" width=3D"80" /> | =20 | =20=20=20=20 | m/img/flavio_poletti.jpg" title=3D"Flavio Poletti" width=3D"80" /> | =20 | =20=20=20=20 | m/img/flavio_poletti.jpg" title=3D"Flavio Poletti" width=3D"80" /> | =20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 =20=20=20=20=20=20=20=20=20=20=20 | =20 | =20=20=20=20 =20=20=20=20
| =20=20=20=20 | m/img/gabor_szabo.png" title=3D"Gabor Szabo" width=3D"80" /> | =20 | =20=20=20=20 =20=20=20=20
Videos =20=20=20=20=20=20=20=20 | =20=20=20=20
|
|
|
|
|
|
|
|