Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11762[/thread]

Returncode bei Aufruf mit IPC::Open3

Leser: 3


<< >> 3 Einträge, 1 Seite
roli
 2008-05-06 20:26
#109295 #109295
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hi,

ich habe folgendes Script:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl
use strict;
use warnings;

use IPC::Open3;

my $input;
my $pid = open3( $input, \*OUT, \*ERROR, "./foo.pl" );
my $rc = $?;
print "Rc=$rc\n";
...

Das Problem ist, das wenn ich ./foo.pl in der Shell aufrufe der Returncode 1 ist, rufe ich obiges Script auf wird "Rc=0" ausgegeben. Wie kann ich den "richtigen" Returncode in diesem Script ermitteln?

Danke
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2
renee
 2008-05-07 12:46
#109336 #109336
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
foo.pl:
Code (perl): (dl )
1
2
3
4
5
#!/usr/bin/perl

print 1;

exit 3;


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

use strict;
use warnings;
use IPC::Open3;

my $input;
my $pid = open3( $input, \*OUT, \*ERROR, "./foo.pl" );
waitpid( $pid, 0 );
my $rc = $? >> 8;
print "Rc=$rc\n";


Der Clou liegt bei dem waitpid und dem $? >> 8 (siehe dazu perlvar)

Ausgabe:
Code: (dl )
1
2
3
4
$ perl start_foo.pl
Name "main::OUT" used only once: possible typo at start_foo.pl line 9.
Name "main::ERROR" used only once: possible typo at start_foo.pl line 9.
Rc=3
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
roli
 2008-05-07 13:09
#109340 #109340
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Moin Renee,

danke so geht's.
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2
<< >> 3 Einträge, 1 Seite



View all threads created 2008-05-06 20:26.