I am a newbie myself, but shouldn't it be:
my $value; # note the $
> ----------
> From: Craig Monroe
> Sent: Friday, July 6, 2001 3:06 PM
> To: [EMAIL PROTECTED]
> Subject: Need help with errors - strict the problem?
>
> I wrote the following program to find the WAN IP address of router, then
> send it in an http request to the website of the organization for dns
> updating. Then, I have a mail message sent to myself notifying me of the
> update.
> I received the following errors. I am still somewhat of a newbie, so
> please have a little patience with me. The error messages are as
> follows:
>
>
> Use of uninitialized value in print at
> c:\windows\desktop\perl_hacks\dns_lwp-mai
> l.pl line 87.
>
> Line 87 is print $value;
> I thought I initialized this with my value;
> Is this because of strict? How would I pass that value if that is the
> case?
>
>
> ....and the answer is......
>
> good 24.147.206.7
>
> Use of uninitialized value in concatenation (.) at
> c:\windows\desktop\perl_hacks
> \dns_lwp-mail.pl line 104.
>
> line 104 is %mail = ( To => '[EMAIL PROTECTED]',
>
>
>
> #! c:\perl\bin -w
>
> ############################################################
> #
> # Author: Craig Monroe
> # Date: July 6, 2001
> # Abstract: Wrote this utility to automatically update
> # my dnsalias record. Will add mail confirmation.
> #
> #
>
> use Mail::Sendmail;
> use IO::Socket;
> use IO::File;
> use strict;
>
> my $cayman = "192.168.1.254";
> my $ipaddress;
> my $value;
> my $ua;
> my $req;
> my $res;
> my $line;
> my $time;
> my $dayname;
> my $month;
> my $day;
> my $clocktime;
> my $year;
> my $count;
> my %mail;
>
> $count = "0";
> #system('cls'); commenting out screen clears for now to get errors
>
> # infinite loop
> {
>
> #Get the day and if it matches the criteria, run the program
>
> $time = scalar(localtime);
> ($dayname, $month, $day, $clocktime, $year) = split (/\s+/, $time);
> &Title;
> if ((($day eq "6") && ($count == 0)) || (($day eq "25") && ($count ==
> 0))) {
>
> # Open a connection to the cayman
>
> my $remote = new IO::Socket::INET(PeerAddr=>$cayman,
> PeerPort=>23,
> Proto=>"tcp",
> Type=>SOCK_STREAM)
> or die "Couldn't connect to IP address $cayman\nSystem error: $!";
>
> # set buffering off
> $remote->autoflush(1);
>
> print $remote "xxxxx\n";
> sleep('3');
> print $remote "xxxxx\n";
> sleep('3');
> print "\nConnecting to the Cayman at $cayman ....\n\n";
> sleep('3');
> print $remote "show ip int\n";
> print $remote "quit\n";
> print "\nParsing the output to grab the WAN IP address....\n\n";
> sleep('3');
>
> while (defined ($line = <$remote>)) {
> $line = substr("$line",1);
> if ($line =~ /^IP Address/){
> ($ipaddress, $value) = split(/\s+:/, $line);
> }
> }
>
> close ($remote);
>
> # Create a web user agent and send the update to dnsalias
>
> #system('cls'); commenting out screen clears for now to get errors
> # Create a user agent object
> use LWP::UserAgent;
> $ua = new LWP::UserAgent;
> $ua->agent("AgentName/0.1 " . $ua->agent);
> print "Sending the WAN IP to DNSALIAS.NET\n\n";
> # Create a request
> $req = new HTTP::Request GET =>
>
>'http://test:[EMAIL PROTECTED]/nic/update?system=dyndns&hostname=test.dnsalias.org&
> myip='.'$value'.'&wildcard=OFF&offline=NO';
> print $value;
> sleep('3');
> # Pass request to the user agent and get a response back
> $res = $ua->request($req);
> # Check the outcome of the response
> if ($res->is_success) {
> print "....and the answer is......\n\n";
> print $res->content;
> print "\n\n";
> sleep('3');
> }
> else {
> print "Didn't work\n";
> }
>
> $count++;
>
> %mail = ( To => '[EMAIL PROTECTED]',
> From => '[EMAIL PROTECTED]',
> Subject => 'Craig\'s DNS Alias Hostname Update',
> Message => "On $time your DNS name has been updated with
> $value");
> sendmail(%mail) or die $Mail::Sendmail::error;
> sleep('5');
> } # end of if
> else {
> #system('cls'); commenting out screen clears for now to get errors>
> &Title;
> print "\n\nWaiting 24 Hours from $time to try again..";
> sleep ('86400');
> $count = 0;
> } # end of else
> redo;
> } # end of while
>
> sub Title {
> print "DNS Updater\n";
> print "=================\n\n\n";
> }
>
>