Index: distributions/Perl-Critic/t/InputOutput/ProhibitTwoArgOpen.run
===================================================================
--- distributions/Perl-Critic/t/InputOutput/ProhibitTwoArgOpen.run (revision 2970)
+++ distributions/Perl-Critic/t/InputOutput/ProhibitTwoArgOpen.run (working copy)
@@ -46,7 +46,16 @@
$foo{open}; # not a function call
-# There is no three-arg equivalent for these
+#-----------------------------------------------------------------------------
+
+## name no three-arg equivalent passes
+## failures 0
+## cut
+
+open( STDOUT, '>&STDOUT' );
+open( STDIN, '>&STDIN' );
+open( STDERR, '>&STDERR' );
+
open( \*STDOUT, '>&STDERR' );
open( *STDOUT, '>&STDERR' );
open( STDOUT, '>&STDERR' );
Index: distributions/Perl-Critic/lib/Perl/Critic/Policy/InputOutput/ProhibitTwoArgOpen.pm
===================================================================
--- distributions/Perl-Critic/lib/Perl/Critic/Policy/InputOutput/ProhibitTwoArgOpen.pm (revision 2970)
+++ distributions/Perl-Critic/lib/Perl/Critic/Policy/InputOutput/ProhibitTwoArgOpen.pm (working copy)
@@ -69,6 +69,8 @@
=pod
+=for stopwords perlipc
+
=head1 NAME
Perl::Critic::Policy::InputOutput::ProhibitTwoArgOpen - Write C<< open $fh, q{<}, $filename; >> instead of C<< open $fh, "<$filename"; >>.
@@ -111,9 +113,9 @@
=head1 NOTES
-The only time you should use the two-argument form is when you re-open
-STDIN, STDOUT, or STDERR. But for now, this Policy doesn't provide
-that loophole.
+There are two cases in which you are forced to use the two-argument form of
+open. When re-opening STDIN, STDOUT, or STDERR, and when doing a safe pipe
+open, as described in L<perlipc|perlipc>.
=head1 SEE ALSO