Sponsored Content
Top Forums Shell Programming and Scripting C, sh, perl, system(): Can't transfer a return code appropriately: help, pls Post 302412454 by alex_5161 on Monday 12th of April 2010 02:54:49 PM
Old 04-12-2010
C, sh, perl, system(): Can't transfer a return code appropriately: help, pls

I am using a perl-script from C-code, executing it by the 'system(..)' comand.

The problem is to return the perl-return code to the C correctly.

Default the 'system()' shell is Bourne: sh

My try: (perl_src.c_pl - the perl script; t_sys - C-program with system() call (I will show it after this block.))
Code:
> perl_src.c_pl ${fl} || { echo "$?, wrong;"; }
Can't use an undefined value as a symbol reference at ./perl_src.c_pl line 254, <$sdx> line 1013.
2, wrong;
>
>   # now execute the same command by the C-with system();
> t_sys "perl_src.c_pl ${fl} || { echo \"$?, wrong;\"; } "
Can't use an undefined value as a symbol reference at perl_src.c_pl line 254, <$sdx> line 1013.
0, wrong;

 executed command: perl_src.c_pl ../data/sdx4-1K.dat || { echo "0, wrong;"; }
 RETURN: 0
>

(the t_sys.c is:
Code:
> cat t_sys.c
#include <stdio.h>
main ( int argc, char* argv[] )
{
  char *cmd=argv[1];
  int rt=system(cmd);
  printf ("\n executed command: %s\n RETURN: %d\n", cmd, rt);
}
>

)

The problem is in the '$?' that is not correct in system() after the perl script is processed.

What I am doing wrong?
How I can transfer the correct perl return code to the C code?

Thnks!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

perl "system" cmd return values..

perl 5.6.1: when i try a "system" command(with if loops for $?), i get this: child exited with value 1 what is meant by this $? values and what does it meant if it returns 1?.. (0 Replies)
Discussion started by: sekar sundaram
0 Replies

2. Solaris

transfer data to a remote system from the tape

i need to retrieve the data from tape on to a remote system.how should i go about it can anyone please help.......its urgent (1 Reply)
Discussion started by: jack123
1 Replies

3. Programming

Return code from system()

Hi, Can any one help me in knowing how can I get the return codes/Error codes when using the system() command to fork a command? Regards, MK (1 Reply)
Discussion started by: mradulkaushik
1 Replies

4. UNIX for Dummies Questions & Answers

Pls guide me in learning in Perl Module and packages

Hi, It is very urgent. Pls guide me in learning Perl Module and the Packages. Eventhough i tried in the google, I didnt get upto my expectations. Pls guide me how to create , build Module and the package. Many Thanks. (3 Replies)
Discussion started by: Yamini Thoppen
3 Replies

5. UNIX for Dummies Questions & Answers

to pick up the Return Code ( RC) from the mailx command and return it to SAS uisng 's

Hi All, Can anyone please let me know the syntax / how to pick up the Return Code ( RC) from the mailx command and return it to SAS uisng 'system()' function and '${?}'. I am in a process to send the mail automatically with an attachment to bulk users. I have used 'Mailx' and 'Unencode'... (0 Replies)
Discussion started by: manas6
0 Replies

6. Shell Programming and Scripting

Assistance pls - pipe error: Too many open files in system

When I run a bash script in the customer system, it throws the warning and script exits Exec '/root/sample.sh' @ hostname-- OK (warn) /root/sample.sh: pipe error: Too many open files in system /root/sample.sh: n + : syntax error: operand expected (error token is " ") Exec... (5 Replies)
Discussion started by: vidhyamirra
5 Replies

7. Shell Programming and Scripting

How to delete already existing data in a file using perl? Pls help me!!

Dear Friends, I need urgent help from u.. I have two files,file1 & file 2.. file1 have a existing data of file2.So i want to delete those existing datas from file1 (which contain the data from file1) My file1 like this rs39348 1 1045729 A G 0.1791 0.2054 0.84 ... (3 Replies)
Discussion started by: sureshraj
3 Replies

8. Shell Programming and Scripting

How to get the return code of subroutines executed as standalone as command line in Perl ?

How to do I get the return code of a subroutine in a perl module if invoke the subroutine as standalone, I have an module say TestExit.pm and in that i have a subroutine say myTest() which is returns 12, if i were to call the subroutine from command line like CASE:1 ( Without an explict... (2 Replies)
Discussion started by: ennstate
2 Replies

9. Shell Programming and Scripting

Transfer file from UNIX to MFT system

Hello , I need to write a script that by using scp transfer a csv file from UNIX to a MFT system (MFT is similar to a winscp) with the help of a private/public key. problem is we are not suppose to generate a private key that will be provided to use by an Application team. Can anybody help me... (0 Replies)
Discussion started by: Monika08
0 Replies

10. Shell Programming and Scripting

[solved] awk: return code from system() always 0 ??

Hi all, I currently have the following problem: In an awk script, I am calling a predifend function from the END{} and handing over a command string. This string arrives flawless and is executed like this: function send_msg( cmd_str ) { ... (7 Replies)
Discussion started by: zaxxon
7 Replies
All times are GMT -4. The time now is 11:21 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy