Skip to content

Commit

Permalink
Add partial summary for 2012-09-10
Browse files Browse the repository at this point in the history
  • Loading branch information
jadeallenx committed Sep 23, 2012
1 parent 1a3a695 commit 21fb46d
Showing 1 changed file with 135 additions and 0 deletions.
135 changes: 135 additions & 0 deletions 2012/09/10.md
@@ -0,0 +1,135 @@
Perl 5 Porters Weekly: September 10-September 16, 2012
======================================================

Welcome to Perl 5 Porters Weekly, a summary of the email traffic on
the perl5-porters email list. Once again subroutine signatures dominated
the list. I'll put all of the discussion about them at the end of this
summary.

This week's dusty thread is [CALL FOR DOCS: how to dual life?][1] from the
week of August 6, 2012. Rik was looking for a volunteer to document the
process of dual-lifing core code. He specifically called out Tie::Scalar and
Time::local. Anyone have any insight into this? Contact [Ricardo
Signes][2].

This week's quote of the week is about an epic csh behavior relating to
getcwd. As if you needed more reasons to [avoid csh][].

Csh does not rely on PWD. Instead, it does a getcwd all by itself.
It then prepends 'set cwd =' and evals the result. Thus interesting
things happen if the directory happens to have any csh metacharacters
in its name.

Topics this week:

* EXISTS and SCALAR return values are treated differently
* 5.14.3 approaches
* PATCH: pack()ing long words
* rxres_save etc (was Re: Fix for recursive substitution)
* given/when/~~ "final" thoughts (ha ha ha)
* Changing the Perl error message when a module is not found
* Named prototypes (again)

**EXISTS and SCALAR return values are treated differently**

I saved this thread because Yves Orton mentioned he had built some code to
collect and show detailed hash utilizaton stats. The background for this
thread had to do with the return values of EXISTS and SCALAR in tied hashes.

[Read the thread][3]

**5.14.3 approaches**

Dominic Hargreaves announced that he's doing some work to get a 5.14.3
maintenance release shipped, and so was looking for any overlooked patches
which hadn't been part of the cherrymaint process. The first RC is due in
September.

[Read the announcement][4]

**PATCH: pack()ing long words**

[Last month][5], I noted that David Cantrell was proposing a new pack syntax that
would take arbitrary length words. This week he submitted a set of patches
to reserve the proposed syntax in blead.

[Read the thread][6]

**rxres_save etc (was Re: Fix for recursive substitution)**

Nicholas Clark wrote an email saying that rxres_save() seems to do too much
work in the perl core. The extra steps apparently date back to a 1997 patch
intended for DBD::Oracle. Both Dave Mitchell and Yves Orton think a rethink
and clean up is overdue for the way regex state is saved for potentially
re-entrant/recursive calls.

[Read the thread][7]

**given/when/~~ "final" thoughts (ha ha ha)**

Ricardo posted a summary of his view of smartmatch:

$x ~~ undef
$x ~~ $overloaded_object
$x ~~ sub {}
$x ~~ regex
...or fail

...with when:

when ("foo") # str eq
when (12345) # num ==
when ($x) # ~~
when { ... } # block evaluates true

when breaks the enclosing topicalizer

And later, he wrote:

I feel like no matter what, given/when/~~ are really balancing on the
very very thin edge of "can be worth the complexity." I really do not
relish the idea of all the required work being done only to realize that
we've gone from unbearable to just barely bearable.

Which got a couple of +1s and surprisingly few replies given how popular
this thread was two weeks ago.

[Read the thread][8]

**Changing the Perl error message when a module is not found**

Michael Stapelberg posted a suggestion to make the "module not found"
error message friendlier to newbies. One proposed variation I liked was

Can't locate LWP/UserAgent.pm in @INC (@INC contains: /etc/perl
/usr/local/lib/perl/5.12.4 /usr/local/share/perl/5.12.4 /usr/lib/perl5
/usr/share/perl5 /usr/lib/perl/5.12 /usr/share/perl/5.12
/usr/local/lib/site_perl .) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

The above error is most likely caused by Perl not finding the module
LWP::UserAgent. Try installing LWP::UserAgent from your distribution
or via CPAN. Run 'perldoc perlmodinst' for more information.

The thread veered into a digression about having or adding "real" exception
objects into the core (someday.)

[Read the thread][9]

**Named prototypes (again)**

I O U a summary to be named later


[avoid csh]: http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/
[1]: http://byte-me.org/perl-5-porters-weekly-august-6-august-12-2012/#5
[2]: mailto:rjbs@cpan.org
[3]: http://www.nntp.perl.org/group/perl.perl5.porters/2012/09/msg191905.html
[4]: http://www.nntp.perl.org/group/perl.perl5.porters/2012/09/msg192050.html
[5]: http://byte-me.org/perl-5-porters-weekly-august-13-august-19-2012/#1
[6]: http://www.nntp.perl.org/group/perl.perl5.porters/2012/09/msg192076.html
[7]: http://www.nntp.perl.org/group/perl.perl5.porters/2012/09/msg192287.html
[8]: http://www.nntp.perl.org/group/perl.perl5.porters/2012/09/msg192299.html
[9]: http://www.nntp.perl.org/group/perl.perl5.porters/2012/09/msg192365.html


0 comments on commit 21fb46d

Please sign in to comment.