[ bobjan @ 19.03.2010. 17:52 ] @
Ovako:
1. Ne znam nista o Perlu, ali po onome sto sam nasao na netu, mozda bi ovo moglo.
2. Imam izvrsni kod (nastao iz C-a, preveden i tako to)koji radi na linuxu
3. Imam punu administrativnu kontrolu nad linuxom
4. Hocu da taj izvrsni kod stavim negde (valjda u www/cgi-bin) i da pomocu necega (valjda nesto.pl koji je takodje u cgi-bin) ga aktiviram da mi odradi ono sto inace lepo odradjuje.
Mislim da sam bio jasan.
Hvala.

[ karas @ 23.03.2010. 06:27 ] @
Ako koristis Apache, treba da mu ukljucis podrsku za CGI, to je nesto poput
Code:

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options +ExecCGI
    Order allow,deny
    Allow from all
</Directory>

Jednom kada postavis skript/izvrsni fajl, pristupaces mu preko URL-a tipa localhost/cgi-bin/nesto.pl.
[ bobjan @ 24.03.2010. 09:10 ] @
Nismo se razumeli.
Šta treba da stavim u nesto.pl da se izvrši mojprogram (tačka 2. mog pitanja) , koji je izvršni kod preveden iz C-a ?
I gde se nalazi mojprogram, kome su setovani sa chmod 755 (znači može da se izvršava).
[ karas @ 24.03.2010. 12:25 ] @
Nista posebno ne stavljas, evo jednog jednostavnog primera, nazovi ga echo.pl:
Code:

use CGI;


my $query = CGI->new();
print $query->header();
print "method=" . $ENV{REQUEST_METHOD} . "\n";
print "address=" . $ENV{REMOTE_ADDR} . "\n";
# POST request has one parameter only named POSTDATA
foreach my $name ($query->param())
{
    print "$name=" . $query->param($name) . "\n";
}

Dakle, stavljas skript takav-kakav je u direktorijum poput /var/www/cgi-bin. Ako je Apache podesen, on ce gadjati gornji skript pozivom URL-a http://localhost/cgi-bin/echo.pl. Proveri samo da li je instaliran CGI modul (to je prva linija skripta), trebalo bi da je negde u direktorijumu poput /usr/lib/perl5, zove se CGI.pm a trebalo bi da postoji i CGI direktorijum.
[ ventura @ 24.03.2010. 12:29 ] @
Kad već imaš CGI napisan u C-u, što bi petljao perl u to?

http://en.wikipedia.org/wiki/Server_Side_Includes
[ bobjan @ 25.03.2010. 10:59 ] @
Ili ja ne umem da postavim pitanje ili je nesto drugo po sredi.
Evo idem polako.
Program koji je napisan u C-u radi npr. sledece:
1. cita neki fajl a.txt
2. odradi neke operacije sa podacima
3. rezultat upise u fajl b.txt.

Obrati paznju, ni a.txt ni b.txt nisu pravljeni za web.

Meni treba perl skript koji ce:
a) da prihvati http request parametre i na onovu njih napravi a.txt.
b) zatim se pozove moj C program.
c) zatim se iz perl skripta procita b.txt, pripremi http response i nazad ka browseru.

Ono sto sam ja pitao odnosi se samo na b).

Znaci nista Server_Side_Includes jer moj C program ne priprema odgovor koji je podoban za web,
nista Options +ExecCGI to nisam pitao to sam vec i sam uradio.

Hvala svima na trudu.

[ karas @ 25.03.2010. 12:20 ] @
Pa tako reci.:)
Gorepomenuti echo.pl prihvata HTTP parametre preko $query->param() a stampa nazad jednostavnim print(). Izmedju toga treba da pozoves svoj C program recimo preko system() ili exec(). Dakle, $query->param() drzi sve parametre koji ti stizu a print() vraca izlaz browseru.