<?xml version="1.0" encoding="windows-1252"?>
<node id="996353" title="Variances in portable perl behavior" created="2012-09-29 04:11:35" updated="2012-09-29 04:11:35">
<type id="115">
perlquestion</type>
<author id="996348">
PortablePilgrim</author>
<data>
<field name="doctext">
Monks,

&lt;p&gt;I have been using Strawberry Perl's portable edition exclusively for a couple of years now, because I want my clients to be able to run on exactly the same environment as me.&lt;/p&gt;

&lt;p&gt;However, I recently ran into a situation where Perl is behaving differently for my client than it is for me.&lt;/p&gt;

&lt;p&gt;We are running on exactly the same portable environment -- actually extracted from the very same .zip file.  I even modified the portableshell.bat to eliminate all but essential Windows environment variables.  However, when my client runs certain scripts, he gets different results than I do.&lt;/p&gt;

&lt;p&gt;Details:  Strawberry Perl, Portable Edition version 5.16.0.  Running on Windows 7.  I have verified that only modules within the portable environment are loaded using the "M" command in debug mode.&lt;/P&gt;

&lt;p&gt;Symptoms:  For scripts that use an input file (using while (&lt;&gt;)), client's Perl always fails for the first line of the input file.  I cannot replicate this in my (identical) environment.  The error is from a manufacturer-supplied API, and the generic portion of the message is: "Inappropriate I/O control operation"&lt;/p&gt;

&lt;p&gt;Any thoughts?  If not on a solution, on a path for troubleshooting?&lt;/p&gt;

&lt;p&gt;My only thought is to create a very simple script that uses an input file, and going line-by-line in debug.  If I can find a difference there, my question will essentially be the same:  What could possible cause a portable Perl environment to behave differently on one Windows 7 system than another?&lt;/p&gt;
</field>
</data>
</node>
