#!/usr/bin/perluse Net::Telnet::Cisco;
my $session = Net::Telnet::Cisco->new(Host => 'xx.xx.xx.xx');
$session->login('dff', 'dfsdf');
# Execute a command
my @output = $session->cmd('show int FastEthernet 0/1');
{
my @result = grep /input rate/i, @output;
print @result;};
Выдает:30 second input rate 6000 bits/sec, 13 packets/sec
Помогите сделать так что б выдавало только "13 packets/sec"
>[оверквотинг удален]
> $session->login('dff', 'dfsdf');
> # Execute a command
> my @output = $session->cmd('show int FastEthernet 0/1');
> {
> my @result = grep /input rate/i, @output;
> print @result;
> };
> Выдает:
> 30 second input rate 6000 bits/sec, 13 packets/sec
> Помогите сделать так что б выдавало только "13 packets/sec"Читайте perldoc -f split.
А это вам для иллюстрации:
$ perl -e '@arr = "30 second input rate 6000 bits/sec, 13 packets/sec"; ($a, $b) = split(/, /, "@arr[0]"); print "a = $a\n"; print "b = $b\n";'
a = 30 second input rate 6000 bits/sec
b = 13 packets/sec
можно и так$session->login('dff', 'dfsdf');
# Execute a command
map{ print $1."\n" if(m!input rate.+\s(\d+\s+packets/sec)!)} $session->cmd('show int FastEthernet 0/1');но тогда смотри map и regexp