develooper Front page | perl.perl5.porters | Postings from August 2021

removing the old-style package separator

Thread Next
From:
Ricardo Signes
Date:
August 15, 2021 03:09
Subject:
removing the old-style package separator
Message ID:
aaf8c272-30a8-4c49-8dbf-9aeff96e8be3@beta.fastmail.com
Porters,

Since at least 2009 <http://markmail.org/message/gaux5xx5jlop3vmk>, we have been talking, once in a while, about deprecating the use of \N{APOSTROPHE} as a package separator, Ada style.

The following two expressions are equivalent:
$x::y::z

$x'y'z

This mostly goes unnoticed, but the confusion sometimes seeps in at:
print "This is $user's problem to deal with."
…which attempts to interpolate $user::s

This bites experts and new users alike, and while the apostrophe *might* be aesthetically pleasing as a package separator, that battle has basically been lost.

I think the next course of action is to see what on CPAN would really break if the old package separator was removed.  I predict "very nearly nothing."  Then, to add a deprecation warning for when it is used, with a drop dead date.  That is, assuming that we don't realize there's some reason we really ought not to do this.

This is a low-value win, but I think it's a win.  Shall we carry on to RFC this?

-- 
rjbs
Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About