Skip to content

Commit

Permalink
perl5416delta for 91e15e5, reinstate apostrophe package separator
Browse files Browse the repository at this point in the history
It's in incompatible changes, it doesn't really belong in Core
Enhancements.
  • Loading branch information
tonycoz committed Nov 26, 2024
1 parent 1b81858 commit 0488277
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 2 deletions.
30 changes: 30 additions & 0 deletions pod/perl5416delta.pod
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,36 @@ in-place directly, in the same way that C<foreach (@array)> would do.

=back

=head1 Incompatible Changes

=head2 Apostrophe is again recognized as a global name separator

This was deprecated in Perl 5.38 and removed as scheduled in perl
5.41.3, but after some discussion has been reinstated by default.

This can be controlled with the C<apostrophe_as_package_separator>
feature which is enabled by default, but is disabled from the 5.41
feature bundle onwards.

If you want to disable use within your own code you can explicitly
disable the feature:

no feature "apostrophe_as_package_separator";

Note that disabling this feature only prevents use of apostrophe as a
package separator within code; symbolic references still treat C<'> as
C<::> with the feature disabled:

my $symref = "My'Module'Var";
# default features
my $x = $My'Module'Var; # fine
no feature "apostrophe_as_package_separator";
no strict "refs";
my $y = $$symref; # like $My::Module::Var
my $z = $My'Module'Var; # syntax error

[L<GH #22644|https://github.com/Perl/perl5/issues/22644>]

=head1 Modules and Pragmata

=head2 Updated Modules and Pragmata
Expand Down
5 changes: 3 additions & 2 deletions pod/perldelta.pod
Original file line number Diff line number Diff line change
Expand Up @@ -180,13 +180,14 @@ section.

Additionally, the following selected changes have been made:

=head3 L<XXX>
=head3 L<perl5416delta>

=over 4

=item *

XXX Description of the change here
Added the change note for apostrophes in names being reinstated, which
was delayed by the review cycle.

=back

Expand Down

0 comments on commit 0488277

Please sign in to comment.