If somebody has accidentally used a symbolic reference with strict enabled and
are looking for diagnostics then it's likely they didn't intend to use a
symbolic reference at all. A beginner may not even know what a symbolic
reference is, or even a reference.
So explain the error in terms of what the user has done, not what sort of
references are allowed. Provide a simple example of how this error can occur,
so even those who don't know about references have a chance of spotting and
fixing their mistake.
=item Can't use string ("%s") as %s ref while "strict refs" in use
-(F) Only hard references are allowed by "strict refs". Symbolic
-references are disallowed. See L<perlref>.
+(F) You've told Perl to dereference a string, something which C<use strict>
+blocks to prevent it happening accidentally. See
+L<perlref/"Symbolic references">. This can be triggered by an C<@> or C<$> in a
+double-quoted string immediately before interpolating a variable, for example
+in C<"user @$twitter_id">, which says to treat the contents of C<$twitter_id>
+as an array reference; use a C<\> to have a literal C<@> symbol followed by the
+contents of C<$twitter_id>: C<"user \@$twitter_id">.
=item Can't use subscript on %s