2013-03-25 3 views
-1

누구든지 Perl을 사용하여 컴퓨터 IP 주소를 감지하고 표시하는 방법을 알려줄 수 있습니까?컴퓨터 IP 주소 감지 및 표시

미리 감사드립니다. 도와주세요.

코드는 다음과 같습니다

#!/usr/bin/perl 
use IO::Socket; 
$hostname="(my hostname)"; 
my($addr)=inet_ntoa((gethostbyname($hostname))[4]); 
print "$addr\n"; 
+0

http://stackoverflow.com/questions/330458/how-can-i-determine-the-을 찾고 계십니까 local-machines-ip-addresses-perl – NoviceProgrammer

+0

어느 것입니까? 컴퓨터에는 드물게 하나의 주소 만 있습니다. 왜 그것을 원하니? – ikegami

+1

@ user2201935 이제 사용중인 코드가 표시되었지만 점점 더 많이 발생하는 예외를 포함하십시오. – TimothyP

답변

0

당신은 아마도

use CGI qw(); 
my $cgi = CGI->new(); 
print $cgi->header('text/plain'); 
print $cgi->remote_addr(), "\n"; 
0

가 구글에 대한 빠른 검색이 나에게 다음과 같은 정보

을 준 IP 주소를 얻으려면, 당신은 이름을 켭니다 gethostbyname까지도 내장 함수 을 사용할 수 있습니다 번호로. 이 숫자를 대부분의 사람들이 예상하는 점으로 구분 된 옥텟 형식 (a.b.c.d)으로 바꾸려면 소켓 모듈의 inet_ntoa 함수 (perl과 함께 제공됨)를 사용하십시오.

use Socket; 
my $address = inet_ntoa(
     scalar gethostbyname($host || 'localhost') 
); 

더 많은 예제 : Perldoc, how do I find my hostname, domainname or IP