RFC 213 (v1) rindex and index should return undef on failure
[email protected] (Perl6 RFC Librarian)
| Newsgroups | perl.perl6.announce.rfc,perl.perl6.language |
|---|---|
| Message-ID | <[email protected]> |
This and other RFCs are available on the web at http://dev.perl.org/rfc/ =head1 TITLE rindex and index should return undef on failure =head1 VERSION Maintainer: Nathan Torkington <[email protected]> Date: Sep 12 2000 Mailing List: [email protected] Number: 213 Version: 1 Status: Developing =head1 ABSTRACT index() and rindex() should return C<undef> if their second argument is not a substring of their first argument. =head1 DESCRIPTION In perl5, index() and rindex() return -1 if the substring isn't found. This seems out of step with the rest of Perl's functions, which return C<undef> on error. I propose changing index() and rindex() to return C<undef> if the substring isn't found. This would also cause warnings to be issued when programmers use the results of index() or rindex() assuming the substring was found. This suggestion doesn't rely on RFC 53, "Built-ins: Merge and generalize C<index> and C<rindex>", and works regardless of whether 53 is accepted or not. =head1 IMPLEMENTATION The perl526 translator could turn index($a,$b) calls into do { my $tmp = index($a,$b); defined($tmp) ? $tmp : -1 } =head1 REFERENCES RFC 53: Built-ins: Merge and generalize C<index> and C<rindex> perlfunc manpage for information on index() and rindex()