#1: fickle warning
Posted on 2011-09-26 07:33:22 by John DePasquale
This is a multi-part message in MIME format.
--===============0264489597==
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0049_01CC7BEC.47E7E5A0"
Content-Language: en-us
This is a multi-part message in MIME format.
------=_NextPart_000_0049_01CC7BEC.47E7E5A0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
Hi all,
I have what I'm sure is the simplest but nonetheless most vexing problem, I
just can't figure what's wrong.
I have two perl programs, both web applications. The same line appears in
both, which is:
my $cVar = substr( CGI::param( 'x' ), 0, 1 );
sometimes 'x' has a value and so $cVar gets a value, other times no value.
In the first program, a non-value for x is a non-event and everything is
fine.
But in the other program, when there's a non-value for x I get the error
"Use of uninitialized value in substr at . . . ". This error message shows
up in my html output so the user sees the error message. I don't understand
why the error is being sent in the html stream to the browser from one
program and not the other. Any guidance is greatly appreciated.
Thanks.
- john
John DePasquale
Chief Executive Officer
Paradigm Consulting
49 Dalby Street
Newton, MA 02458
Mobile: 617-610-2424
Fax: 617-600-7326
_____
------=_NextPart_000_0049_01CC7BEC.47E7E5A0
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" =
xmlns:p=3D"urn:schemas-microsoft-com:office:powerpoint" =
xmlns:a=3D"urn:schemas-microsoft-com:office:access" =
xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" =
xmlns:s=3D"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" =
xmlns:rs=3D"urn:schemas-microsoft-com:rowset" xmlns:z=3D"#RowsetSchema" =
xmlns:b=3D"urn:schemas-microsoft-com:office:publisher" =
xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadsheet" =
xmlns:c=3D"urn:schemas-microsoft-com:office:component:spread sheet" =
xmlns:odc=3D"urn:schemas-microsoft-com:office:odc" =
xmlns:oa=3D"urn:schemas-microsoft-com:office:activation" =
xmlns:html=3D"http://www.w3.org/TR/REC-html40" =
xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/" =
xmlns:rtc=3D"http://microsoft.com/officenet/conferencing" =
xmlns:D=3D"DAV:" xmlns:Repl=3D"http://schemas.microsoft.com/repl/" =
xmlns:mt=3D"http://schemas.microsoft.com/sharepoint/soap/mee tings/" =
xmlns:x2=3D"http://schemas.microsoft.com/office/excel/2003/x ml" =
xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd" =
xmlns:ois=3D"http://schemas.microsoft.com/sharepoint/soap/oi s/" =
xmlns:dir=3D"http://schemas.microsoft.com/sharepoint/soap/di rectory/" =
xmlns:ds=3D"http://www.w3.org/2000/09/xmldsig#" =
xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint/dsp" =
xmlns:udc=3D"http://schemas.microsoft.com/data/udc" =
xmlns:xsd=3D"http://www.w3.org/2001/XMLSchema" =
xmlns:sub=3D"http://schemas.microsoft.com/sharepoint/soap/20 02/1/alerts/"=
xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#" =
xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/" =
xmlns:sps=3D"http://schemas.microsoft.com/sharepoint/soap/" =
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" =
xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/soap" =
xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile " =
xmlns:udcp2p=3D"http://schemas.microsoft.com/data/udc/partto part" =
xmlns:wf=3D"http://schemas.microsoft.com/sharepoint/soap/wor kflow/" =
xmlns:dsss=3D"http://schemas.microsoft.com/office/2006/digsi g-setup" =
xmlns:dssi=3D"http://schemas.microsoft.com/office/2006/digsi g" =
xmlns:mdssi=3D"http://schemas.openxmlformats.org/package/200 6/digital-sig=
nature" =
xmlns:mver=3D"http://schemas.openxmlformats.org/markup-compa tibility/2006=
" xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns:mrels=3D"http://schemas.openxmlformats.org/package/200 6/relationshi=
ps" xmlns:spwp=3D"http://microsoft.com/sharepoint/webpartpages" =
xmlns:ex12t=3D"http://schemas.microsoft.com/exchange/service s/2006/types"=
=
xmlns:ex12m=3D"http://schemas.microsoft.com/exchange/service s/2006/messag=
es" =
xmlns:pptsl=3D"http://schemas.microsoft.com/sharepoint/soap/ SlideLibrary/=
" =
xmlns:spsl=3D"http://microsoft.com/webservices/SharePointPor talServer/Pub=
lishedLinksService" xmlns:Z=3D"urn:schemas-microsoft-com:" =
xmlns:st=3D"" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 12 =
(filtered medium)"><!--[if !mso]><style>v\:* =
{behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
..shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
..MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:202598555;
mso-list-type:hybrid;
mso-list-template-ids:548196896 -655353108 67698691 67698693 67698689 =
67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-start-at:0;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Calibri","sans-serif";
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal>Hi =
all,<o:p></o:p></p><p class=3DMsoNormal>I have what I’m sure is =
the simplest but nonetheless most vexing problem, I just can’t =
figure what’s wrong.<o:p></o:p></p><p class=3DMsoNormal>I have two =
perl programs, both web applications. The same line appears in both, =
which is:<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal> &=
nbsp; my $cVar =3D substr( CGI::param( 'x' =
), 0, 1 );<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal>sometimes ‘x’ has a value and so $cVar =
gets a value, other times no value. In the first program, a non-value =
for x is a non-event and everything is fine.<o:p></o:p></p><p =
class=3DMsoNormal>But in the other program, when there’s a =
non-value for x I get the error “Use of uninitialized value in =
substr at . . . “. This error message shows up in my html output =
so the user sees the error message. I don’t understand why the =
error is being sent in the html stream to the browser from one =
program and not the other. Any guidance is greatly =
appreciated.<o:p></o:p></p><p class=3DMsoNormal>Thanks.<o:p></o:p></p><p =
class=3DMsoListParagraph style=3D'text-indent:-.25in;mso-list:l0 level1 =
lfo1'><![if !supportLists]><span style=3D'mso-list:Ignore'>-<span =
style=3D'font:7.0pt "Times New =
Roman"'> =
</span></span><![endif]>john<o:p></o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>John DePasquale<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>Chief Executive =
Officer<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>Paradigm Consulting<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>49 Dalby =
Street<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>Newton, MA 02458<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>Mobile: =
617-610-2424<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>Fax: =
617-600-7326 <o:p></=
o:p></span></p><div class=3DMsoNormal align=3Dcenter =
style=3D'text-align:center'><span style=3D'color:#1F497D'><hr size=3D2 =
width=3D"100%" align=3Dcenter></span></div><p =
class=3DMsoNormal><o:p> </o:p></p></div></body></html>
------=_NextPart_000_0049_01CC7BEC.47E7E5A0--
--===============0264489597==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
--===============0264489597==--
Report this message |
#2: Re: fickle warning
Posted on 2011-09-26 10:54:11 by Bill Luebkert
On Sun, 09/25/2011 22:33, John DePasquale wrote:
> Hi all,
>
> I have what I=92m sure is the simplest but nonetheless most vexing proble=
m, I just can=92t figure what=92s wrong.
>
> I have two perl programs, both web applications. The same line appears in=
both, which is:
>
> my $cVar =3D substr( CGI::param( 'x' ), 0, 1 );
>
> sometimes =91x=92 has a value and so $cVar gets a value, other times no v=
alue. In the first program, a non-value for x is a non-event and everything=
is fine.
>
> But in the other program, when there=92s a non-value for x I get the erro=
r =93Use of uninitialized value in substr at . . . =93. This error message =
shows up in my html output so the user sees the error message. I don=92t un=
derstand why the error is being sent in the html stream to the browser from=
one program and not the other. Any guidance is greatly appreciated.
I have no idea why - maybe one program uses Carp's fatalsToBrowser
and the other not or some such ? What happens to the one that
doesn't get the error back to the browser ? What does it do instead ?
Does it still work ? What are 'strict' and 'warnings' set to in both ?
The real point is to not let it happen. :) Fix the code to account
for all possibilities. I tend to not combine several calls to subs
in one line of code - doesn't hurt to use an intermediate vrbl and
it's a lot easier to debug if you do since you can break on it if
you like or dump the value to a log file.
HTH, Bill
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Report this message |