How do i get new log with the latest info ?

You need to sort your file on the date field to get the "latest" info, however your date field is not sortable in its present condition.    To sort it properly you need to have the most significant field (year) first followed in order by significance to the least significant field (seconds).    Or you could store the field as the Unix time in seconds since the epoch and sort it numerically.

You should start your programs with these two lines to let Perl help you find mistakes:

use warnings; use strict;


use Time::Local; $today = timelocal(localtime);

You can replace those two lines with:

$today = time;

Although you never use the $today variable anywhere.



$datafile=`cat ../hosts/iplist.txt | sort -r | sort -u -t ',' -k 2,2 > + ../hosts/latestip.txt`;

You have a useless use of cat there:

$datafile = `sort -r ../hosts/iplist.txt | sort -u -t ',' -k 2,2 > ../ +hosts/latestip.txt`;

And you don't really need a temporary file there, you could just use open on the pipe.



my $count = 0;

You never use this variable anywhere.



open (DATA,"/home/myplace/hosts/latestip.txt") || die ("Can't Open dat +a File \n"); @data=<DATA>; close DATA;

You don't really need this temp file, and you don't really need to read the whole file into memory:

open PIPE, '-|', 'sort -r ../hosts/iplist.txt | sort -u -t ',' -k 2,2' or die "Cannot open pipe from sort because: $!"; while ( <PIPE> ) { # do your stuff here } close PIPE or warn $! ? "Error closing sort pipe: $!" : "Exit status $? from sort";


$x=0;

You never use this variable anywhere.



sub header_response { print "Content-type: text/html\n\n"; print "<HTML><HEAD><TITLE>test</TITLE>\n"; print "</HEAD>\n"; print qq^<BODY background="images/bg2.jpg" TEXT="blue" LINK="blue" + VLINK="#9900CC" ALINK="#330066">\n^; print "<CENTER><h1><font color=black>Our IP Info</font></h1></CENT +ER>\n"; print "<BR>\n"; print "</form></CENTER>\n"; print "<center><FONT size=+1><TABLE BORDER=1><TR bgcolor=#669900>< +TD><center><font color=white>Host Name</center></TD><TD><center><font + color=white>IP address</center></TD><TD><font color=white><center>La +st Boot Windows</center></TD></TR>\n\n"; return; } sub footer_response { print "</TABLE></font></CENTER>\n"; print "<BR><BR><BR><BR>\n"; print " </BODY></HTML>\n"; return; }

Why are these subroutines?    Each one should just be a single print statement:

print <<'HTML'; Content-type: text/html <HTML><HEAD><TITLE>test</TITLE> </HEAD> <BODY background="images/bg2.jpg" TEXT="blue" LINK="blue" VLINK="#9900 +CC" ALINK="#330066"> <CENTER><h1><font color=black>Our IP Info</font></h1></CENTER> <BR> </form></CENTER> <center><FONT size=+1><TABLE BORDER=1><TR bgcolor=#669900><TD><center> +<font color=white>Host Name</center></TD><TD><center><font color=whit +e>IP address</center></TD><TD><font color=white><center>Last Boot Win +dows</center></TD></TR> HTML print <<'HTML'; </TABLE></font></CENTER> <BR><BR><BR><BR> </BODY></HTML> HTML

In reply to Re: How to get latest IP and hostname. by jwkrahn
in thread How to get latest IP and hostname. by britney

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.