#!/usr/bin/perl my (%data); # the hash my ( @an_array); # array $count=15; open HOSTS,"/etc/hosts"; while( ) { chomp; if ( ! /^#/ && ! /^\s*$/ ){ ($ip1, $ip2,$ip3 ,$remain ) = split /\./ ; ( $ip4, $hostname ) = split( /\s+/, $remain ); $info=sprintf "<%3s> <%3s> <%3s> <%3s>", $ip1,$ip2,$ip3,$ip4 ; $data{$hostname} = $info; } }; foreach $name ( sort( keys(%data) ) ){ printf "%2d %s .. %s\n",$count--, $data{ $name }, $name ; } print "__________________\n"; while( <> ){ chomp; if ( defined $data{ $_ } ){ printf "%2d %s .. %s\n",$count--, $data{ $_ }, $_ ; }else{ printf "the host '%s' does not exist \n",$_ } }