This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Clarified perldelta entry for UID/GID magic variables
authorLeon Timmermans <fawaka@gmail.com>
Wed, 15 May 2013 21:04:03 +0000 (23:04 +0200)
committerLeon Timmermans <fawaka@gmail.com>
Wed, 15 May 2013 21:19:49 +0000 (23:19 +0200)
pod/perldelta.pod

index 2721a1c..4a21c4a 100644 (file)
@@ -763,8 +763,21 @@ active user.
 
 Swapping of $< and $>
 
-For more information about this future deprecation, see L<the relevant RT
-ticket|https://rt.perl.org/rt3/Ticket/Display.html?id=96212>.
+Perl has supported the idiom of swapping $< and $> (and likewise $( and
+$)) to temporarily drop permissions since 5.0, like this:
+
+    ($<, $>) = ($>, $<);
+
+However, this idiom modifies the real user/group id, which can have
+undesirable side-effects, is no longer useful on any platform perl
+supports and complicates the implementation of these variables and list
+assignment in general.
+
+As an alternative, assignment only to C<< $> >> is recommended:
+
+    local $> = $<;
+
+See also: L<Setuid Demystified|http://www.cs.berkeley.edu/~daw/papers/setuid-usenix02.pdf>.
 
 =item *