in reply to Re: 5.8.2 vs 5.8.8
in thread 5.8.2 vs 5.8.8

The diagnostics states: Use of uninitialized value in join or string at /usr/opt/perl5/lib/5.8.8/IO/Socket/INET.pm line 83 (#1) (W uninitialized) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign a defined value to your variables. To help you figure out what was undefined, perl tells you what operation you used the undefined value in. Note, however, that perl optimizes your program and the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer to the concatenation (.) operator, even though there is no . in your program. We are passing parameters that contain the server userid password ascii/binary remote directory, local directory and file name. Those all appear to be filled in correctly.

Replies are listed 'Best First'.
Re^3: 5.8.2 vs 5.8.8
by ikegami (Patriarch) on Jan 06, 2011 at 17:43 UTC

    I know what the warning means. I'm asking what error you're getting when you try to create the socket.

    Or how about this. What's the output of the following?

    perl -MCarp::Always your_script.pl
      Sorry for being vague. I'm not that familiar with the inner workings of perl. When I used the perl -MCarp with my script I'm getting the same error. I would attach the actual script if I knew how to do that.

        I said -MCarp::Always, not -MCarp.

        $ perl -we'sub f { print join "", undef } f("abc")' Use of uninitialized value in join or string at -e line 1. $ perl -MCarp::Always -we'sub f { print join "", undef } f("abc")' Use of uninitialized value in join or string at -e line 1 main::f('abc') called at -e line 1

        Besides, I requested one of two pieces of information. If you can't provide one, provide the other. What error are you getting when try to create the socket?

        As for posting code, just include it in <c>...</c> tags. Be sure to make it a minimal, runable demonstration of the problem. 20 lines would be excessive.