Hallo,
Generell ist es ja möglich einem Perl Script zu sagen das es andere Programme ausführen soll. Ich habe ingesamt 5 PerlSCripte die ich gerne mit nur einem ausführen möchte! Wie macht man denn sowas??
Also eigentlich nichts kompliziertes, aber ich finde speziell dazu nichts. die daten sollen auch nicht übernommen werden oder so! Einfach nur ausführen...
Danke schonmal im Vorraus
User since
2006-07-24
3
Artikel
BenutzerIn
Mateo ist jetzt Manni :)
Ja also brauch ich dann nur ein Perl Programm in dem nur #!/usr/bin/perl -w
do KFZ_Site2.pl;
steht??
Hab das so gemacht und bei mir kommt da nur die Fehlermeldung: Unquoted string "pl" may clash with future reserved word at Execute.pl line 3.
Sorry bin noch Anfänger aber vielen Dank für die schnelle Antwort
User since
2004-03-22
5697
Artikel
ModeratorIn + EditorIn
naja anführundszeichen gehören um jeden string
do 'KFZ_Site2.pl';
User since
2003-08-04
14371
Artikel
ModeratorIn
Wenn, dann
do "KFZ_Site.pl";
Willst Du die Ausgabe später noch verwenden?? Oder willst Du einfach nur 5 Skripte aufrufen?
Du könntest so arbeiten:
#!/usr/bin/perl
use strict;
use warnings;
system("KFZ_Site2.pl");
oder:
#!/usr/bin/perl
use strict;
use warnings;
my $result = qx{KFZ_Site2.pl};
print $result;
User since
2006-07-24
3
Artikel
BenutzerIn
okay okay! Jetzt bekomme ich noch ein Problem mit uninitializated value.
Ich habe so search and replace expressions im Script ganz am Anfang. Warum muckt er da rum? Wenn ich das Script direkt und nicht mit do ausführe funktioniert es tadellos??
User since
2003-08-04
14371
Artikel
ModeratorIn
Ohne Code lässt sich das schwer sagen...
User since
2004-03-22
5697
Artikel
ModeratorIn + EditorIn
warum doppelt anführungszeichen.
ich dachte immer er spart was wenn er nicht versucht zu evaluieren.
User since
2003-08-04
14371
Artikel
ModeratorIn
Richtig. Mein "Wenn, dann " war nicht auf Dich bezogen @lichtkind. Als ich meine Antwort geschrieben hatte, war Deine Antwort noch nicht da!
User since
2006-07-24
3
Artikel
BenutzerIn
Ja das mit Code habe ich gedacht ist in meinem Fall net so wichtig da ich ja wirklich nur die 5 Programme aufrufen will und ich das jetzt auch jetzt so mache(falls es in der Nachwelt jemand interessiert):
#!/usr/bin/perl
do 'KFZ_Site_JAVA.pl';
do 'KFZ_Site_JAVA_engl.pl';
do 'KFZ_Site_JAVA_index.pl';
do 'KFZ_Site.pl';
do 'KFZ_Site2.pl';
do 'KFZ_Site2_engl.pl';
diese uninitializated value Meldung kommt wegen dem -w.
Dieser meldet sich bei unsauberer Programmierung. Denn ich generiere schon vorweg eine Funktion welche z.b. Umlaute ersetzt. Die Variablen sind aber zu dem Zeitpunkt noch undefiniert. Wenn man -w weglässt bleibt die Fehlermeldung aus und wenn man sonst keine Fehler gemacht hat funktioniert das Script auch.