Solved

Perl's problem with running an external program

Posted on 1997-07-26
5
154 Views
Last Modified: 2013-12-25
Dear Perl experts,

I am trying to execute an external program through a perl script. This script creates a file, updates a file, and creates an HTML page on the fly. The script then needs to run a program called 'waisindex' to create several files. Waisindex works ok if it is run from the Unix command line. A file permission of 'sum_$id_value[1].txt' is 644, but other's permissions are 755. The related part of the script is as follows:
--------
.
.
.
`/home/dcs0ock/bin/waisindex -t fields -d /home/dcs0ock/wsdb/sear -a /home/dcs0ock/public_html/terra/summary/sum_$id_value[1].txt`;
--------------
0
Comment
Question by:dcs0ock
5 Comments
 
LVL 5

Expert Comment

by:icd
ID: 1829420
Not too sure about this, hence the comment rather than the answer.

You don't say what the actual error reported is.

Remember that as a user accessing the script through a web browser you will have a different user name (something like 'nobody'). Presumably you will have a different 'home' directory as a consequence. Could this be your problem?

0
 

Author Comment

by:dcs0ock
ID: 1829421
The actual error of the perl script is that a part related to
'waisindex' of a perl script would not be run. The script has
been used as a CGI script without any problem and I've added the part of 'waisindex' to the script. The other parts of the script except a 'waisindex' part shown in the above question are normally run ok. Thus, it seems to me that this problem is not
concerned with a different user name or different 'home' directory. Have you got any clue?

Thank a lot.
0
 
LVL 2

Expert Comment

by:n3mtr
ID: 1829422
Try putting the waisindex command inside a system call instead of using backticks.
ex:
system("/directory/waisindex options");

0
 

Author Comment

by:dcs0ock
ID: 1829423
Edited text of question
0
 
LVL 3

Accepted Solution

by:
pc012197 earned 50 total points
ID: 1829424
Try to separate the three commands with semicolons instead of just newlines.
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Introduction This tutorial will give you a fast look what you can do with WhizBase. I expect you already know how to work with HTML at least, and that you understand the basics of the internet and how the internet works. WhizBase is a server-s…
In this tutorial I will show you how to provide a dynamic RTF document on your website generated with data from your database. For this tutorial you will need Microsoft Word or WordPad, WhizBase and Microsoft Access. In this tutorial I will show …
Learn the basics of while and for loops in Python.  while loops are used for testing while, or until, a condition is met: The structure of a while loop is as follows:     while <condition>:         do something         repeate: The break statement m…
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now