<?xml version="1.0" encoding="windows-1252"?>
<node id="483400" title="Re^5: On Commenting Out 'use strict;' (source filters)" created="2005-08-12 16:38:29" updated="2005-08-15 15:33:54">
<type id="11">
note</type>
<author id="22609">
tye</author>
<data>
<field name="doctext">
&lt;p&gt;
Thanks for the clarifications.  I apologize for my mischaracterization.
&lt;/p&gt;&lt;p&gt;
I don't consider the LIMITATIONS section of [cpan://Switch] to be even close to adequate.  It mentions rather specific limitations in parsing which is likely to give the opposite impression from the [cpan://Perl6::Rules] disclaimer that I quoted.  That is, they imply that other than these few exceptions, the parsing of complex code is unlikely to be a problem.
&lt;/p&gt;&lt;p&gt;
But I've seen reports of problems that are not covered by any of the specific cases listed (such as the contents of comment lines causing very random-looking problems).  Does the module always correctly distinguish a '/' character for division from a '/' character that starts a regex (which requires tracking prototypes), just to pick one example?
&lt;/p&gt;&lt;p&gt;
I once started writing code that would use [cpan://Inline::Files] but quickly switched to a different method when I realized that the module used a source filter.  I felt that the problems I'd seen reported for [cpan://Switch] justified a disclaimer like the [cpan://Perl6::Rules] one I quoted and, since neither [cpan://Switch] nor [cpan://Inline::Files] contained anything close to that, I did not feel I could trust [cpan://Inline::Files] at all.
&lt;/p&gt;&lt;p&gt;
So, personally, I suggest modifying the documentation of these modules to make the (rather wide, no?) distinction clearer.
&lt;/p&gt;&lt;p&gt;
I apologize again for the unfair thrashing.  I hope the above helps to explain the misunderstanding that lead to my confusion.
&lt;/p&gt;
&lt;div class="pmsig"&gt;&lt;div class="pmsig-22609"&gt;&lt;p align="right"&gt;
- [tye]&lt;tt&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/tt&gt;
&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;</field>
<field name="root_node">
482733</field>
<field name="parent_node">
483376</field>
</data>
</node>
