--- lib/PXElator/ip.pm 2009/08/15 22:38:02 224 +++ lib/PXElator/ip.pm 2009/08/19 12:46:07 265 @@ -6,10 +6,13 @@ use Data::Dump qw/dump/; use html; +use server; sub lines { my ( $object ) = @_; + my $debug = server::debug; + $object ||= 'link'; my $i = 0; @@ -19,12 +22,12 @@ my $headers; foreach my $line ( split(/\n/, `ip $object`) ) { - warn "# $line\n"; + warn "# $line\n" if $debug; my $add_header; if ( $line =~ s{^(\d+):\s+(\w+):\s+}{} ) { $i = $1; - $objects[$i] = { $object => $2 }; + $objects[$i] = { dev => $2 }; $add_header = $object; } elsif ( $line =~ s{^\s+}{} ) { # line continues @@ -88,4 +91,14 @@ return html::table( @table ); } +sub devices_up { + my @links = ip::lines( 'link' ); + my @devs; + foreach ( 1 .. $#links ) { + push @devs, $links[$_]->{dev} if $links[$_]->{flags} =~ m{UP}; + } + return @devs; +} + + 1;