Perl system() to run a script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Perl system() to run a script
# 1  
Old 08-27-2013
Tools Perl system() to run a script

Hello,

I'm trying to run "csso" (minify css) in a CGI script from the web panel.

That is not working: Returns error 0;

my $cmd = qq`csso stylesheet.css > stylesheet.min.css`;
system($cmd);


But that is working:

my $cmd = qq`echo 'blabla' > stylesheet.min.css`;
system($cmd);


I'm using full paths. It looks like "csso" doesn't have write permissions or something?
CentOS is the operating system.

Thanks.

Last edited by madispuk; 08-27-2013 at 07:52 AM..
# 2  
Old 08-27-2013
Did it work when you run it outside the perl script on the shell ?
# 3  
Old 08-27-2013
Yes. I even tried to run it as an apache (and it works):
su -s /bin/sh apache -c "[COMMAND]"
# 4  
Old 08-27-2013
I dont think you need backticks. Just try with

Code:
$cmd = qq(/path/to/csso stylesheet.css > stylesheet.min.css)

---------- Post updated at 06:06 AM ---------- Previous update was at 06:01 AM ----------

And capture the exit code by assigning system($cmd) to a variable
# 5  
Old 08-27-2013
Exit code:
32512

I think it means that it can't find the "csso" command.

which csso
points to
/usr/local/bin/csso
when
which echo
points to
/bin/echo

Maybe /usr/local/bin is not accessible for apache?

Last edited by madispuk; 08-27-2013 at 08:23 AM..
# 6  
Old 08-27-2013
system() gives the actual exit code left shifted by 8. So 32512 means the actual exit code is 255. You may need to refer csso man page to refer what this means.
# 7  
Old 08-27-2013
No man page and nothing in the docs about error codes. Have to find a new solution.
Thank you very much anyway!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script run in a case statement call to run a php file, also Perl

Linux System having all Perl, Python, PHP (and Ruby) installed From a Shell script, can call a Perl, Python, PHP (or Ruby ?) file eg eg a Shell script run in a case statement call to run a php file, also Perl or/and Python file??? Like #!/usr/bin/bash .... .... case $INPUT_STRING... (1 Reply)
Discussion started by: hoyanet
1 Replies

2. UNIX for Dummies Questions & Answers

Perl Script:how to find how many parameters are required to run the script

How to find how many parameters are required to run a Perl script? (1 Reply)
Discussion started by: Lakshman_Gupta
1 Replies

3. Shell Programming and Scripting

Run shell script on different machine using perl script

I want to execute my shell script on remote machine using SSH in perl script. Please help me with syntax. (2 Replies)
Discussion started by: james1988
2 Replies

4. Shell Programming and Scripting

perl script to check if empty files are created and delete them and run a shell script

I have a local linux machine in which the files are dumped by a remote ubuntu server. If the process in remote server has any problem then empty files are created in local machine. Is there any way using perl script to check if the empty files are being created and delete them and then run a shell... (2 Replies)
Discussion started by: hussa1n
2 Replies

5. Shell Programming and Scripting

Run script from another script if system date was reached

I what to find a system date in a shell script and search for it in a file in specific record. If the record (ENDC) has the same date I what to execute another shell script. Here is example of the file: Can someone please help me with this ? (3 Replies)
Discussion started by: Lenora2009
3 Replies

6. Shell Programming and Scripting

how to let the perl script to run for each file

Hi, I have more than 1 files in the directory. In bash, I can use cd /work for x in `ls` do : : done to run for each file in the directory. How about in perl script? filepath="ABC1" open(FILE, $filepath) or die "$filepath cannot be opened."; while(<FILE>) { : (1 Reply)
Discussion started by: natalie23
1 Replies

7. Shell Programming and Scripting

Run system command in perl cgi

Hi guys, got a problem with a perl cgi script over here. I need it to run a system command to get the status of a process. Unfortunately the process is owned by a specific user and only this user can get its status. So i tried running the command from the perl cgi with "su", but then i get the... (12 Replies)
Discussion started by: polki
12 Replies

8. Shell Programming and Scripting

Run Shell Script on Remote System

I honestly tried searching for this in this forum and in google. Maybe I found the answer but didn't even realized it. I would like to run shell script thats on my machine that collects the hostname and IP address from the remote system and sends the output to my machine. I'm not sure if need... (2 Replies)
Discussion started by: elbombillo
2 Replies

9. Shell Programming and Scripting

Perl: Run perl script in the current process

I have a question regarding running perl in the current process. I shall demonstrate with an example. Look at this. sh-2.05b$ pwd /tmp sh-2.05b$ cat test.sh #! /bin/sh cd /etc sh-2.05b$ ./test.sh sh-2.05b$ pwd /tmp sh-2.05b$ . ./test.sh sh-2.05b$ pwd /etc sh-2.05b$ So... (10 Replies)
Discussion started by: vino
10 Replies

10. Shell Programming and Scripting

Perl run system command

Can perl execute a system command similar to the C function System()? Thanks. Gregg (1 Reply)
Discussion started by: gdboling
1 Replies
Login or Register to Ask a Question