-
Notifications
You must be signed in to change notification settings - Fork 577
perlvar: Add link to remaining legal $# use #23252
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@@ -2626,7 +2626,8 @@ using it now triggers a compilation error: C<$# is no longer supported>. | |||
|
|||
This is not the sigil you use in front of an array name to get the | |||
last index, like C<$#array>. That's still how you get the last index | |||
of an array in Perl. The two have nothing to do with each other. | |||
of an array in Perl. (See L<perldata/Scalar values>.) | |||
The two have nothing to do with each other. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The paragraph about $#array
in perldata
... :
- is a page or more into the
Scalar values
section - doesn't mention that there used to be a
perlvar
with a similar name - doesn't have a heading, it can't be linked to
- is difficult to identify as being the part of the doc the link from
perlvar
wants me to read about
Since I generally think it makes more sense for docs to tell you what something is, not what it isn't, it might be a good idea to move the whole conversation to a =head2 confusion between $# and $#array
† section in perldata
The perlvar
section should just be "$# is could easily be confused with the $#array
sigil - please see L<perldata/confusion between $# and $#array>
"‡ followed by the current explanation of $#
used to be.
The perlvar
entry should just be a tomb stone for anthropology and pub trivia purposes.
__
†. Not exactly that, but like that.
‡. reading this section means either you're working on code that's more than 15 years old, or you're confusing the perlvar with the sigil
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the confusion will be limited as there has never been much usage of the variable $#
, and those users will find the perlvar section quite readily, so I don't think it's worth reorganizing perldata on its behalf. On the other hand, a more explicit section or subsection on the $#foo
variable form may be useful (but is a matter for another issue/PR).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My main point is that the link does not go to the place it should - it links to a full 7 paragraphs before the intended documentation...
c005539
to
554ced0
Compare
That was the closest place to link in perldata. And I agree that it is very much less than ideal. The other place this variable is described is perlintro, and it didn't seem to me like I should be linking to a tutorial as opposed to a reference document. But, the perlintro link is much better, so I have changed to point to that |
That's way better! |
Fixes #21682