我编写了一个执行命令的函数,根据正则表达式解析输出,并返回两个值,status 和 ip。函数调用按预期返回两个值。我不想返回标量,而是想返回哈希引用。有人可以告诉我如何为以下函数返回哈希引用吗?
sub status {
my ($self,$int) = @_;
my $status = 0;
my $ip = 0;
my $cmd = 'cisco ios command ' . $interface;
my $out = $self->{sshObj}->exec($cmd);
foreach my $line ( $out ) {
if ( $line =~ m/Session\s+status:\s+(.*)/ ) {
$status = $1;
}
if ( $line =~ /(\d+.\d+.\d+.\d+)/ ) {
$ip = $1;
}
}
return ($status,$ip);
}
函数调用:
my ($status, $ip) =
$self->{'$tunnel_obj'}->status($self->{'outer_t_1'});
INFO ("status : $status");
INFO ("ip : $ip");
Output :
status : UP
ip : 172.10.78.33