home *** CD-ROM | disk | FTP | other *** search
/ ftp.madoka.org / 2014.12.ftp.madoka.org.tar / ftp.madoka.org / pub / plum / 2.x / plum2_15_4.lzh / support / clientname next >
Text File  |  1997-12-21  |  1KB  |  53 lines

  1. #!/bin/perl -w
  2. # $Id: clientname,v 2.3 1997/12/21 13:56:36 hasegawa Exp $
  3. # copyright (c)1997 pupu_j <hasegawa@agusa.nuie.nagoya-u.ac.jp>
  4.  
  5. if ($] < 5) {
  6.   foreach $inc (@INC) {
  7.     if (-r "$inc/sys/socket.ph") {
  8.       eval 'require "sys/socket.ph"';
  9.       $SOCKET = "$inc/sys/socket.ph" unless $@;
  10.       last;
  11.     }
  12.   }
  13. } else {
  14.   eval 'use Socket';
  15.   $SOCKET = 'Socket.pm' unless $@;
  16. }
  17.  
  18. $AF_INET = &AF_INET || 2;
  19.  
  20. &main(@ARGV);
  21.  
  22. sub main {
  23.   local(@args) = @_;
  24.   local($host, $addr, $name);
  25.   if (@args < 1) {
  26.     &usage;
  27.     exit(1);
  28.   }
  29.   ($host) = @args;
  30.   if ($host =~ /(\d+)\.(\d+)\.(\d+)\.(\d+)/) {
  31.     $addr = pack('C4', $1, $2, $3, $4);
  32.   } elsif ($host =~ /^\d+$/) {
  33.     $addr = pack('N', $host);
  34.   } else {
  35.     $addr = (gethostbyname($host))[4];
  36.   }
  37.   if ($addr) {
  38.     $name = (gethostbyaddr($addr, $AF_INET))[0];
  39.     if ($name) {
  40.       print $name, "\n";
  41.       print join('.', unpack('C4', $addr)), "\n";
  42.     } else {
  43.       print "no hostname for ", join('.', unpack('C4', $addr)), "\n";
  44.     }
  45.   } else {
  46.     print "hostname lookup failed for $host\n";
  47.   }
  48. }
  49.  
  50. sub usage {
  51.   print "usage: perl clientname {<hostname>|<ip-address>}\n";
  52. }
  53.