This has already been done for Perl 5.6.1. Here is what perldelta.pod
has to say.
=head2 Arrays now Always Interpolate Into Double-Quoted Strings
In double-quoted strings, arrays now interpolate, no matter what. The
behavior in perl 5 was that arrays would interpolate into strings if
the array had been mentioned before the string was compiled, and
otherwise Perl would raise a fatal compile-time error. In versions
5.000 through 5.003, the error was
Literal @example now requires backslash
In versions 5.004_01 through 5.6.0, the error was
In string, @example now must be written as \@example
The idea here was to get people into the habit of writing
C<"fred\@example.com"> when they wanted a literal C<@> sign, just as
they have always written C<"Give me back my \$5"> when they wanted a
literal C<$> sign.
Starting with 5.6.1, when Perl now sees an C<@> sign in a
double-quoted string, it I<always> attempts to interpolate an array,
regardless of whether or not the array has been used or declared
already. The fatal error has been downgraded to an optional warning:
Array @example will be interpolated in string
This warns you that C<"[EMAIL PROTECTED]"> is going to turn into
C<fred.com> if you don't backslash the C<@>.
See L<http://www.plover.com/~mjd/perl/at-error.html> for more details
about the history here.
Mark-Jason Dominus [EMAIL PROTECTED]
I am boycotting Amazon. See http://www.plover.com/~mjd/amazon.html for details.