Schrift
[thread]687[/thread]

Net::SCP::Expect: error

Leser: 1


<< >> 4 Einträge, 1 Seite
outers
 2006-03-06 15:55
#7059 #7059
User since
2006-03-06
2 Artikel
BenutzerIn
[default_avatar]
hei ich brauche Net::SCP::Expect
nun es geht alles wunder bar.
nun will ich wen es nicht geht das es mir eine fehlermeldung in eine variabel schreibt. kann mir da jemand helffen?

use Net::SCP::Expect;

my $scpe = Net::SCP::Expect->new(verbose=>'1',auto_yes=>'1',user=>$user ,password=>$pw);

$scpe->scp($ip,$config_file_linux)
nepos
 2006-03-06 17:13
#7060 #7060
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Also, wenn ich die Doku richtig lese, dann hast du hier 2 Moeglichkeiten:
1.) Du gibst ihm beim new eine Code-Referenz auf eine Funktion mit, die Fehler handeln soll.
2.) Du packst das ganze in einen eval-Block. Damit wird der croak, der vom Modul im Fehlerfall aufgerufen wird, gefangen und du kannst danach $@ auswerten.

zu 1.)
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl

use strict;
use warnings;
use Net::SCP::Expect;

sub myErrorHandler {
  ... mach irgendwas ...
}

my $scpe = Net::SCP::Expect->new(verbose=>1,auto_yes=>1,user=>$user,password=>$pw,error_handler=>\&myErrorHandler);

$scpe->scp($ip,$config_file_linux);


zu 2.)
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl

use strict;
use warnings;
use Net::SCP::Expect;

my $scpe = Net::SCP::Expect->new(verbose=>1,auto_yes=>1,user=>$user,password=>$pw);

eval {
  $scpe->scp($ip,$config_file_linux);
};

if ($@) {
  ... Fehlerbehandlung ...
}
outers
 2006-03-06 17:42
#7061 #7061
User since
2006-03-06
2 Artikel
BenutzerIn
[default_avatar]
Danke erst mal.
Aber könntest du mir noch mal den ersten Teil ein bischen näher erklären?
nepos
 2006-03-06 20:56
#7062 #7062
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Naja, damit sagst du dem Modul im Prinzip, dass er, wenn ein Fehler auftritt die angegebene Funktion aufrufen soll.
Was dieser Funktion dann aber genau uebergeben wird, das muesstest du selbst rausfinden. Eventuell wie bei dem croak die letzte Zeile im Terminal.
<< >> 4 Einträge, 1 Seite



View all threads created 2006-03-06 15:55.