linux-l: Übergabe von Variablen

Manuel Tennert mtennert at meta-systems.de
Do Jul 20 11:48:55 CEST 2000



Manuel Tennert schrieb:

> Jens Dreger schrieb:
>
> > On Thu, Jul 20, 2000 at 10:02:03AM +0200, Manuel Tennert wrote:
> > > Kurze Frage, hoffe es gibt eine kurze Antwort:
> > > Ich rufe ein Perlscript bekanntlich so auf (wenn ich an einer Datei
> > > etwas verändern will): ./scriptname.pl datei.xyz
> > > Nun soll datei.xyz an das Script in Variable $1 oder so geschrieben
> > > werden, automatisch scheint das liebe Script das nicht zu übernehmen.
> >
> > Die Kommandozeilenparameter finden sich im Array @ARGV wieder. Dieses
> > zaehlt ab Index 0, das erste Argument ist also $ARGV[0]. Der
> > Programmname indes findet sich in $0. Durch Aenderung von $0 kannst Du
> > z.B. den angezeigten Namen unter ps aendern.
> >
> > Gruss,
> >
> > Jens.

Funktioniert doch nicht so ganz.....wenn ich das ganze per Hand aufrufe ist
alles OK., aber: will ich das ganze dann noch von einem C-Shell-Script
aufrufen ist nix mehr.....das C-Shell-Script sieht wie folgt aus:
#!.....
/verzeichnis/main.pl $1     <---- da müßte er ja den dann wenn das
C-Shell-Script
                                                aufgerufen wird den Namen
übergeben
Wie Du sagtest, steht dann $1 im Perl-Script unter $ARGV[0] nun will ich
diese Variable an ein anderes Script übergeben mit:

system("./verzeichnis/main.pl $ARGV[0]");

Leider wird dieser Teil dann nicht mehr ausgeführt ! Dagegen:
print "Das ist Datei $ARGV[0]";
funktioniert reibungslos und der liebe Compu schreibt die Datei auf die
verändert werden soll. Warum funktionukkelt das nich bei system(blablabla)
????

MFG Manuel




Mehr Informationen über die Mailingliste linux-l