Net-Telnet-Brcd
view release on metacpan or search on metacpan
lib/Net/Brcd.pm view on Meta::CPAN
$fab->{ALIAS} = {};
foreach ($self->cmd('aliShow "' . $args{-filter} . '"')) {
next unless $_;
if (m/alias:\s+(\w+)/) {
$alias=$1;
next;
}
if ($alias && m/${_brcd_wwn_re}/) {
s/^\s*//; # on enleve les blancs de devant
DEBUG && warn "DEBUG: aliShow: $alias: $_\n";
my @wwn_for_alias = split m/\s*;\s*/;
foreach my $wwn (@wwn_for_alias) {
$fab->{WWN}->{$wwn} = $alias;
}
if (exists $fab->{ALIAS}->{$alias}) {
my $old_alias_value = $fab->{ALIAS}->{$alias};
unless (ref $old_alias_value) {
$fab->{ALIAS}->{$alias} = [$old_alias_value];
}
push @{$fab->{ALIAS}->{$alias}}, @wwn_for_alias;
} else {
lib/Net/Brcd.pm view on Meta::CPAN
my ($zone);
foreach ($self->cmd('zoneShow "' . $args{-filter} . '"')) {
DEBUG && warn "DEBUG:CMDDUMP: $_\n";
if (m/zone:\s+(\w+)/) {
$zone = $1;
next;
}
if ($zone && m/\s*(\w[:\w\s;]+)/) {
my $members = $1;
my @member = split m/;\s+/, $members;
foreach my $member (@member) {
$fab->{ZONE}->{$zone}->{$member}++;
$fab->{MEMBER}->{$member}->{$zone}++;
}
}
}
unless ($fab->{MEMBER} and $fab->{ZONE}) {
croak "Warning - Empty zone.\n";
lib/Net/Telnet/Brcd.pm view on Meta::CPAN
}
$self->sendcmd($cmd);
#sleep(1); # Temps d'envoi de la commande
# Lecture en passant les continue
@cmd = ();
CMD: while (1) {
my ($str, $match) = $proto->waitfor(${_brcd_prompt_re});
DEBUG && warn "DEBUG:: !$match!$str!\n";
push @cmd, split m/[\n\r]+/, $str;
if ($match eq ${_brcd_commit}) {
$proto->print('yes');
next CMD;
}
if ($match eq ${_brcd_continue}) {
$proto->print("");
next CMD;
}
last CMD;
}
( run in 1.127 second using v1.01-cache-2.11-cpan-71847e10f99 )