#! perl -slw use strict; my( $hostname, @dnsservers, $nodetype ); my $last = ''; while () { chomp; if ( /Host Name.*?:\s*(.*)$/ ) { $hostname = $1; $last = 'host'; } elsif ( /DNS Servers.*?:\s*(.*)$/ ) { @dnsservers = $1; $last = 'dns'; } elsif ( /Node Type.*?:\s*(.*)$/ ) { $nodetype = $1; $last = 'node'; } elsif( !/:/ and $last eq 'dns' ) { print '?'; push @dnsservers, $1 if /\s+(\S+)$/; } else{ warn "Unknown linetype at $. : '$_'\n"; } } print $hostname, $/, join' | ', @dnsservers, $/, $nodetype; __DATA__ Host Name . . . . . . . . . : LAPTOP.no.cox.net DNS Servers . . . . . . . . : 205.152.132.211 181.171.2.11 10.10.10.1 Node Type . . . . . . . . . : Broadcast