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]
>