On Tuesday, April 16, 2002, at 09:05  AM, Anthony Beaman wrote:

> 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!)
>
>

you want commas to separate list elements, not semicolons.
use IO::Socket;
$remote = IO::Socket::INET->new(
Proto => "tcp",
PeerAddr => "localhost",
PeerPort => "daytime(13)"
)

> 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