Stop trying to disambiguate {} after $

$ ./perl -Ilib -e '${function_with_side_effects,42}'
$ ./perl -Ilib -e '${Function_with_side_effects,42}'
syntax error at -e line 1, near "${"
Execution of -e aborted due to compilation errors.

Why is the second one a syntax error?

Because the lexer is trying to disambiguate between a block and a hash
when it sees ‘{’ after ‘$’.  But an anonymous hash constructor cannot
come after a funny character, so any time it chooses the hash inter-
pretation over the blocky one, a syntax error ensues.
perldiag: reword and rewrap an entry

I think ‘portable between’ sounds better in this particular context.
The rewrapping is for the sake of splain output.
perlfunc: consistent spaces after dots
toke.c: Remove unnecessary PL_expect assignment

In this code path, we know that the next token is a parenthesis.  It
also happens that the lexer always emits parentheses the same way,
so there is no question as to how to interpret it.  Hence, the value
of PL_expect is actually irrelevant here.
Allow package name in ‘use constant’ constants

See the thread that includes
<20140821044934.29399.qmail@lists-nntp.develooper.com>.

This provides a way for a package to define constants in another pack-
age, without having to resort to *other::const = sub () { $value }.
Now one can write constant->import("other::const" => $value).

Documentation will be added in an upcoming commit.
Increase $constant::VERSION to 1.32
constant.pm: outdated comment
constant.pm: Remove redundant truth checks

It is not possible to reach these without $symtab’s having been
assigned a stash reference.
constant.pm: Remove doc reference to compile-time checking

This was removed in commit eff754733a.  It was necessary, as the
feature caused bugs #69456 and #122607.

Advertising the compile-time check with version-dependent qualifi-
cations would make the documentation too verbose.
constant.pm: Document fully-qualified constant names

added a few commits ago.