http://qs1969.pair.com?node_id=367534


in reply to Need help to parse the text

I assume that the format of the ifconfig -a output will always be the same; that is, interface followed by interface information. If that is the case, then the following code sample will work for you. NOTE:
1) the output of ifconfig -a has been stored in a file
2) the interface information is stored in a hash where the interface name is the key and its status is the value.

#!/usr/bin/perl use strict; my ($if, %hash, $key); open(FILE, "<f.txt"); while(<FILE>) { chomp $_; ($if = $_) =~ s/^(\w+?):.+/$1/ if $_ =~ m/^\w+:/; ($hash{$if} = $_) =~ s/.+status:\s+(.+)/$1/ if $_ =~ m/status/; } close(FILE); foreach $key (keys %hash) { print "$key: $hash{$key}\n"; } exit;
hope this helps,
davidj