Schrift
[thread]12784[/thread]

Parameter bei Comandline



<< >> 8 Einträge, 1 Seite
roooot
 2008-11-20 00:18
#116427 #116427
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Hi,

ich will über einen system Aufruf ein Script mit Parametern starten. Dazu wollte ich CGI.pm nutzen, das funktioniert lokal ja auch wunderbar.

Aber online eben nicht. Er meldet immer leere Variablen.



main.cgi
Code (perl): (dl )
system(qq{./resize.cgi ss="$gal_securestring" fh="$file_hash"});

resize.cgi
Code (perl): (dl )
1
2
3
4
5
6
use CGI;

my $cgi = new CGI;

my $gal_securestring = $cgi->param('ss');
my $file_hash        = $cgi->param('fh');



Danke für Hilfe.
Viele Grüße :)
LanX-
 2008-11-20 12:32
#116430 #116430
User since
2008-07-15
1000 Artikel
BenutzerIn

user image
was du da lokal machst kann nach meinem Gefühl nicht die normale http-übergabe vom server an das CGI sein.

Ist das so dokumentiert???
pq
 2008-11-20 13:05
#116433 #116433
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
roooot+2008-11-19 23:18:30--
ich will über einen system Aufruf ein Script mit Parametern starten.


klappt bei mir wunderbar:
Code: (dl )
1
2
3
4
5
6
7
8
perl -wle'
use CGI;
my $cgi = CGI->new;
print $cgi->param("test");
print $cgi->param("test2");
' test=23 test2=42
23
42
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
roooot
 2008-11-20 13:10
#116434 #116434
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Also das mit der CGI Übergabe funktioniert lokal auch wenn ichs per Commandline / system() aufrufe eben so.
Beim system Aufruf online funktioniert das allerdings nicht. Naja mache es jetzt per ARGV. Tut seinen Dienst.

Das CGI, dass auch kann habe ich bei selfhtml in den Archiven gelesen.
Viele Grüße :)
pq
 2008-11-20 13:15
#116435 #116435
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
LanX-+2008-11-20 11:32:52--
Ist das so dokumentiert???

Code: (dl )
1
2
3
4
5
6
7
8
DEBUGGING
If you are running the script from the command line or in the perl debugger, you can pass the
script a list of keywords or parameter=value pairs on the command line or from standard input
(you don&#8217;t have to worry about tricking your script into reading from environment variables).
You can pass keywords like this:

your_script.pl keyword1 keyword2 keyword3
[...]
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
pq
 2008-11-20 13:16
#116436 #116436
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
roooot+2008-11-20 12:10:42--
Also das mit der CGI Übergabe funktioniert lokal auch wenn ichs per Commandline / system() aufrufe eben so.
Beim system Aufruf online funktioniert das allerdings nicht. Naja mache es jetzt per ARGV. Tut seinen Dienst.

"funktioniert nicht" ist keine fehlerbeschreibung.
fliegt der server in die luft? der code, den du gezeigt hast, macht noch nicht mal eine ausgabe.
du siehst, bei mir funktioniert es, und bei dir lokal funktioniert es auch.
wie wäre es denn mal mit debugging? stattdessen nimmst du jetzt einen workaround in kauf...
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
LanX-
 2008-11-20 13:22
#116437 #116437
User since
2008-07-15
1000 Artikel
BenutzerIn

user image
pq+2008-11-20 12:15:01--
Code: (dl )
DEBUGGING


ja sowas hab ich mir gedacht, ne Hintertür von CGI.pm und keine Produktivschnittstelle.

sollte man sowas supporten?

UPDATE: Falls es nicht offensichtlich ist: das Modul wird merken dass es vom Server Daten erhält (AFAIR in ENV) und die debugdaten ignorieren.

Warum sollte man so nen Hack mit dem Server fahren wollen?
pq
 2008-11-20 13:56
#116441 #116441
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Das Skript in ein Modul umzuwandeln ist sicher die bessere Lösung, ja. Da gewinnt man sowieso
weitere Vorteile mit, denn so ein Kommandozeilenaufruf ist ja beschränkt, was die Parameterübergabe betrifft.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 8 Einträge, 1 Seite



View all threads created 2008-11-20 00:18.