Thanks! I think your advice may apply to the following code that I'm having trouble 
with:

use Win32::NetAdmin;
$username = Win32::LoginName;
Win32::NetAdmin::UserGetAttributes("", $username, $password,
$passwordage, $privilege, $homedir, $comment, $flags, 
$scriptpath);
print "The homedir for $username is $homedir\n";

I tried this but got similar errors but I played with it and tried to add the other 
"$"'s to the print statement but the only thing that will print is the username (I'm 
logged onto NT Server 4 as Admin). 

Here's the other code that I'm having trouble with and it's indicative of the problems 
that I'm having with the "IO::Socket::INET->new" statement: 

use IO::Socket;
$remote = IO::Socket::INET->new(
Proto => "tcp";
PeerAddr => "localhost";
PeerPort => "daytime(13)",
)
or die "Can't connect to daytime port at localhost";
while (<$remote>) {print}

Now, I'm getting syntax errors: 

syntax error at 415b.pl line 3, near ""tcp";"
syntax error at 415b.pl line 7, near ")
"

Any ideas? Remember, I'm a beginner. :-) (no flaming!)

Thanks! 
                -----Original Message-----
                From:   David Gray [mailto:[EMAIL PROTECTED]]
                Sent:   Tuesday, April 16, 2002 11:38 AM
                To:     [EMAIL PROTECTED]; Anthony Beaman
                Subject:        RE: Errors Running Learning Perl in Win32 Scripts

                > Hi! I have version 5.005_03 and I'm using the Win32 version 
                > of the Learning Perl book. I'm having trouble running a few 
                > scripts. For example, when I run the following:
                > 
                > Exercise 16.1
                > 
                > foreach $host (@ARGV) {
                >   ($name, $aliases, $addrtype, $length, @addrs) = 
                > gethostbyname($host);
                >   print "$host:\n";
                >   
                >   foreach $a (@addrs) {
                >     print join(".", unpack("C4", $a)), "\n";
                >   }
                > }
                > 
                > ....I get the following errors:
                > 
                > Name "main::name" used only once: possible typo at 415.pl 
                > line 5. Name "main::length" used only once: possible typo at 
                > 415.pl line 5. Name "main::aliases" used only once: possible 
                > typo at 415.pl line 5. Name "main::addrtype" used only once: 
                > possible typo at 415.pl line 5.

                Those aren't errors, they're warnings which get generated because 
you're
                (wisely) asking for them by either having a -w at the end of the first
                line of your program or including the 'use warnings;' pragma somewhere.
                Your program should run correctly if those are the only messages it
                generates.

                > What am I doing wrong? The scripts in the book are supposedly 
                > for this version but I'm having trouble with this and similar 
                > scripts.

                You shouldn't be declaring those variables as global if you're only
                going to be using them in that one specific block. You don't even 
really
                need to get the values if you're not going to use them. Use instead:

                my @addrs = (gethostbyname($host))[4];

                Hope that helps some, and please ask more specific questions with
                relevant code attatched if I haven't answered what you were wondering
                about.

                 -dave

                

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to