my $cmd = "ip addr show"; my %interfaces; open my $pipe, '-|', $cmd or die "(E) could not execute: $cmd: $!\n"; my $device; while ( my $line = <$pipe> ) { if ( $line =~ m/^\d+:\s+([^:]+): <([^>]+)>/ ) { $device = $1; $interfaces{$device}->{abilities} = $2; } while ( $line =~ m/(mtu|state|qlen|brd?) (\S+)/g ) { $interfaces{$device}->{$1} = $2; } } close $pipe; # stash für JSON view $c->stash->{networkDevices} = \%interfaces;