![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Chiamata di un C-froma funzione script Perl | jisha | Shell scripting e di programmazione | 9 | 05-08-2008 01:59 AM |
| Chiamata Winzip da script perl | MobileUser | Shell scripting e di programmazione | 5 | 04-04-2007 04:51 AM |
| chiamando uno script di shell da perl | gurukottur | Shell scripting e di programmazione | 3 | 10-05-2006 12:48 PM |
| Riquadro A script perl chiamando casella B's script di shell | new2ss | Shell scripting e di programmazione | 1 | 09-13-2006 07:17 AM |
| Chiamata in CGI Perl Shell script [urgente] | DeepakXavier | Shell scripting e di programmazione | 0 | 10-09-2005 02:51 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Chiamata da uno script perl uno script perl
Codice:
printf(”Going to call another script... \n”); system(”/my_dir/B.pl”); # call another perl script B.pl exit; Ho due preoccupazioni: 1) Il presente esiste un modo migliore di raggiungere lo stesso scopo (ad esempio, chiamare un altro perl da uno script perl script)? 2) vi è un avviso di uscita di comando di script nella mia vocazione. Intende l'uscita comando essere eseguito solo dopo che è stato completato B.pl O verrà eseguito immediatamente B.pl si chiama? |
|
||||
|
Citazione:
Citazione:
Ti è cercare di scoprire se tale sia il caso? |
|
||||
|
Citazione:
i qoute da perldoc per il sistema "... Non esattamente la stessa cosa come exec ELENCO, ad eccezione del fatto che la forchetta è fatto prima, e il processo padre attende il processo figlio per completare ...." In modo che io possa prendere il mio primo script attendere B.pl alla fine prima di uscire. l'ingresso per perldoc exec dice: ".. La funzione exec esegue un sistema di comando e non ritorna mai -". Pertanto posso supporre che dopo essere chiamate B.pl, la convocazione script uscita. La mia intenzione non è quella di attendere B.pl alla fine, (ad esempio, gestisce il chiamante e B.pl script uscita), pertanto dovrebbe usare i exec? Qualsiasi trarre spalle? |
|
||||
|
Mi piace di richiedere qualsiasi altro file all'inizio degli script principale quindi chiamare la routine in loro, se necessario. Questo può o non può essere il modo migliore, ma funziona abbastanza bene per me. A proposito, se non ricordo male, credo che il file che si sta chiamando non deve necessariamente standard perl script di intestazione, non ha per fine a "pl" o "cgi", e non ha bisogno di autorizzazioni eseguibile.
(main_file.pl) #! / usr / bin /perl richiedono "other_file.pl"; & do_something; & do_something_else; uscita; (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 di nuovo"; ) 1; return true # I test che non ha lo script, ma so che è vero e proprio vicino a quello che faccio. |
|
||||
|
Citazione:
Ho eseguito il codice e ha funzionato, ma ho bisogno di passare argomenti, e semplicemente aggiungendo loro (nello stesso modo come si fa con una subroutine) non funziona. Questa è la mia prima esperienza con perl, E la inane blocchi stradali sono così frustrante! Siamo spiacenti - Ho guardato dappertutto e ho cercato un po 'di approcci, senza successo. Qualsiasi aiuto sarebbe apprezzato! ![]() |
|
||||
|
In realtà "Picking Up Perl"Non menziona neppure chiamare altri perl script, e "Robert's Perl Tutorial "è per Windows e si parla di farlo solo con i moduli. Tuttavia, sono riuscito a utilizzarlo e karlsworld di script per mettere insieme qualcosa che funziona.
Inoltre, ho dimenticato di dire che non voglio usare sistema (), perché ho bisogno di passare più nomi di file e si desidera essere in grado di accettare gli spazi senza il mal di testa di capire che andare in pezzi il target metodo. Comunque. Per coloro che la lettura di questo in futuro, questo funziona: (main_file.pl) Codice:
#!/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; Codice:
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
Stampa: Ciao |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|