![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Het aanroepen van een C-functie froma Perl-script | jisha | Programmeren en Shell Scripting | 9 | 05-08-2008 01:59 |
| Bellen Winzip van perl script | MobileUser | Programmeren en Shell Scripting | 5 | 04-04-2007 04:51 |
| bellen van een shell script uit perl | gurukottur | Programmeren en Shell Scripting | 3 | 10-05-2006 12:48 |
| Vak A perl script oproepen vak B's shell script | new2ss | Programmeren en Shell Scripting | 1 | 09-13-2006 07:17 |
| Bellen CGI Perl in Shell script [dringend] | DeepakXavier | Programmeren en Shell Scripting | 0 | 10-09-2005 02:51 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Bellen een perl script van een perl-script
Code:
printf(”Going to call another script... \n”); system(”/my_dir/B.pl”); # call another perl script B.pl exit; Hallo iedereen, boven is een voorbeeld dat ik gebruik om te bellen naar een ander perl script van de huidige perl script. Ik heb twee aandachtspunten: 1) Dat er een betere manier om hetzelfde doel (dwz een andere oproep perl script van een perl script)? 2) Notice is er een afslag opdracht in mijn roeping script. Zal de afrit commando worden uitgevoerd nadat B.pl is afgerond of het zal worden uitgevoerd onmiddellijk B.pl heet? |
|
||||
|
Citaat:
Citaat:
Heeft u probeert uit te vinden of dit het geval is? |
|
||||
|
Citaat:
i qoute van perldoc voor systeem "... Is precies hetzelfde als exec LIJST, behalve dat een splitsing wordt gedaan eerste en de bovenliggende proces wacht voor het kind proces te voltooien ...." Dus ik kan het dat mijn eerste script zal wachten op B.pl te voltooien voordat u afsluit. de perldoc vermelding voor exec zegt ".. De exec functie voert een systeem commando en nooit terugkeer -". Daarom kan ik neem aan dat hij na de gesprekken B.pl, de aanroepende script zal verlaten. Mijn bedoeling is niet om te wachten op B.pl te voltooien, (dat wil zeggen, loopt B.pl en de beller script zelf afslag) dus ik moet gebruiken exec? Elke trekken rug? |
|
||||
|
Ik wil graag dat alle andere bestanden aan het begin van de belangrijkste script dan alleen bellen naar de routines in deze zo nodig. Dit kan al dan niet de beste manier, maar het werkt vrij goed voor mij. By the way, als ik me goed herinner, ik denk dat het bestand dat u bellen hoeft niet noodzakelijkerwijs de norm perl script header, niet hoeft te eindigen in "pl" of "cgi", en hoeft niet uitvoerbaar machtigingen.
(main_file.pl) #! / usr / bin /perl vereisen "other_file.pl"; & do_something; & do_something_else; exit; (other_file.pl) sub do_something ( print "Content-Type: text / html \ n \ n"; print "OK"; ) sub do_something_else ( print "Content-Type: text / html \ n \ n"; print "ok weer"; ) 1; # return true Ik heb niet testen dat script, maar ik weet dat het echt dicht bij wat ik doe. |
|
||||
|
Citaat:
Ik heb de code en het werkte, maar ik moet passeren argumenten, en voegen ze (op dezelfde manier als je met een subroutine) niet werkt. Dit is mijn eerste ervaring met perl, En het zinloos wegblokkades zijn zo frustrerend! Sorry - ik overal gekeken en geprobeerd een stelletje benaderingen, zonder succes. Alle hulp wordt gewaardeerd! ![]() |
|
||||
|
Eigenlijk "Picking Up Perl"Niet eens melding belt andere perl scripts, en "Robert's Perl Tutorial "is voor Windows en het is slechts sprake van doen met modules. Toch heb ik om het te gebruiken en karlsworld het script voor stuk samen iets dat werkt. Ook, ik vergat te vermelden dat ik het niet wilt gebruiken, system () want ik moet passeren meerdere bestandsnamen en wilt kunnen accepteren ruimtes zonder de hoofdpijn van het uitzoeken welke stukken gaan samen in de doelstelling-methode. Hoe dan ook. Voor die het lezen van deze in de toekomst, dit werkt: (main_file.pl) Code:
#!/usr/bin/perl use strict; use warnings; require "other_file.pl"; my $string = "Hello"; my $string2 = "Hello again"; do_something($string); my ($s1, $s2) = do_something_else($string2); print "Received: $s1 $s2\n"; exit; (other_file.pl) Code:
sub do_something($){
my $string = $_[0];
print "Printing: $string\n";
}
sub do_something_else($){
my $string = $_[0];
print "Now printing: $string\n";
my $yyyy = 2009;
return ($string, $yyyy);
}
1; # return true
En de output is: Afdrukken: Hallo |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|