[perl] 1 Script voor zowel cgi als shell

Pagina: 1
Acties:

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 13-09 23:09
Hoi allemaal..

Ik heb gezocht en voor het nodige vermaak (en een aanzet om mij ook te helpen :P ) vermeld ik dit topic maar even. Geeft wel aan hoe het ooit gekund heeft :) :

[topic=29442/1/25]

Mijn probleem/situatie :

Met veel pijn en moeite heb ik nu een werkend perl script dat met een <form> voorzien kan worden van de nodige parameters. Nu wil ik graag dat dit script ook vanaf de command-line (linux) te draaien is. Hoe geef ik dan die parameters door ?
code:
1
perl script.pl?var1=blaat

Zoiets ? (erg UTFS ik weet het, maar nu )...

Op zich niet zo'n probleem, maar ik heb dus ook arrays[] in mijn formulier staan. Hoe krijg ik die doorgegeven ?

SIZE does matter.
"You're go at throttle up!"


Verwijderd

Met @ARGV:
perl bestand.pl param1 param2 etc.

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 13-09 23:09
Dank voor de reply, maar hoe geef ik dan die array op de commandline op ? (ben nog errrug perl/*nix shell newbie)

Array = (1,2,3,4,5,6,7,8,9,10)

Moet je het dan ook zo op de commandline opgeven, dus :
code:
1
perl script.pl (1,2,3,4...)

?

SIZE does matter.
"You're go at throttle up!"


Verwijderd

Op maandag 28 januari 2002 16:27 schreef Zef het volgende:
perl bestand.pl param1 param2 etc.

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 13-09 23:09
Op maandag 28 januari 2002 16:27 schreef Zef het volgende:
Met @ARGV:
perl bestand.pl param1 param2 etc.
Hmmz.. volgens mij snap ik nu wel wat er gebeurt, maar nu komen toch alle paramX die je meegeeft in 1 array, namelijk @ARGV ?? Stel ik heb drie array's die ik mee wil geven, hoe kan ik die in @ARGV dan uit elkaar houden ?

Het kan zijn dat ik echt gigantisch uit mijn nek loop te ouwenelen, maar ik zie het ecth ff niet (maandag :Z )

SIZE does matter.
"You're go at throttle up!"


Verwijderd

er vanuit gaande dat je CGI.pm gebruikt en de parameters dmv de 'param' method uitleest, dan kan je het ook als volgt doen op de commandline:
code:
1
perl -w perlscript.pl var1=value1 var2=value2

hoe je arrays doorgeeft op de commandline weet ik niet, misschien kan het wel niet. Scheiden door comma's werkt iig niet, dan blijft het gewoon een string.

  • Ees
  • Registratie: Juli 2001
  • Laatst online: 29-07 15:00

Ees

code:
1
perl script.pl var1=value1 var1=value2 var1=value3 var2=bla

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 04-09 13:39
Even oude koeien uit de sloot halen, stel ik heb dit script:
code:
1
2
3
#!/usr/bin/perl

print $usern1;

En ik voer in de shell dit in:
perl test.pl usern1=hoi
Dan krijg ik geen output help?

zeroxcool.net - curity.eu


Verwijderd

lees mijn eerdere post in deze thread nog eens. En zoek naar enkele van de genoemde termen op google of in de perl documentatie.
Pagina: 1