--- /dev/null
+## name lvalue
+## failures 1
+## cut
+
+substr( $foo, 2, 1 ) = 'XYZ';
+
+#-----------------------------------------------------------------------------
+
+## name 4 arg substr
+## failures 0
+## cut
+
+substr $foo, 2, 1, 'XYZ';
+
+#-----------------------------------------------------------------------------
+
+## name rvalue
+## failures 0
+## cut
+
+$bar = substr( $foo, 2, 1 );
+
+#-----------------------------------------------------------------------------
+
+## name hash rvalue
+## failures 0
+## cut
+
+%bar = ( foobar => substr( $foo, 2, 1 ) );
+
+#-----------------------------------------------------------------------------
+
+## name substr as word
+## failures 0
+## cut
+
+$foo{substr};
+
+#-----------------------------------------------------------------------------
+
+##############################################################################
+# $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/t/BuiltinFunctions/ProhibitLvalueSubstr.run $
+# $Date: 2008-03-16 17:40:45 -0500 (Sun, 16 Mar 2008) $
+# $Author: clonezone $
+# $Revision: 2187 $
+##############################################################################
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 78
+# indent-tabs-mode: nil
+# c-indentation-style: bsd
+# End:
+# ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :