The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 02-06-2007
new2ss new2ss is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2006
Posts: 133
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?
  #2 (permalink)  
Old 02-06-2007
cbkihong cbkihong is offline Forum Advisor  
Adviseur
  
 

Join Date: Sep 2002
Locatie: Hong Kong, China
Berichten: 1624
Citaat:
Oorspronkelijk geplaatst door new2ss
1) Dat er een betere manier om hetzelfde doel (dwz een andere oproep perl script van een perl script)?
Ja. Gebruik eisen ().

Citaat:
Oorspronkelijk geplaatst door new2ss
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?
Ik denk dat, tenzij uw B.pl loopt zelf in de achtergrond (zoals die van deamons, bijvoorbeeld), de perl proces voor B.pl zal niet verlaten voordat het is voltooid, en dus systeem () in je belt script zal niet terugkeren (let op dat systeem () net voert een perl proces op dezelfde wijze als andere processen). Als de exit () optreedt nadat systeem (), kunt u ervan uitgaan dat zal alleen worden uitgevoerd wanneer B.pl uitgangen om welke reden.

Heeft u probeert uit te vinden of dit het geval is?
  #3 (permalink)  
Old 02-06-2007
new2ss new2ss is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2006
Posts: 133
Citaat:
Oorspronkelijk geplaatst door cbkihong
Ja. Gebruik eisen ().

Ik denk dat, tenzij uw B.pl loopt zelf in de achtergrond (zoals die van deamons, bijvoorbeeld), de perl proces voor B.pl zal niet verlaten voordat het is voltooid, en dus systeem () in je belt script zal niet terugkeren (let op dat systeem () net voert een perl proces op dezelfde wijze als andere processen). Als de exit () optreedt nadat systeem (), kunt u ervan uitgaan dat zal alleen worden uitgevoerd wanneer B.pl uitgangen om welke reden.

Heeft u probeert uit te vinden of dit het geval is?
B.pl is geen achtergrond, zijn een normale gebruiker script.

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?
  #4 (permalink)  
Old 02-06-2007
karlsworld karlsworld is offline
Geregistreerde gebruiker
  
 

Join Date: Feb 2007
Posten: 6
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.
  #5 (permalink)  
Old 05-23-2009
lbailey lbailey is offline
Geregistreerde gebruiker
  
 

Join Date: mei 2009
Posten: 2
Citaat:
Oorspronkelijk geplaatst door karlsworld View Post
Ik heb niet testen dat script, maar ik weet dat het echt dicht bij wat ik doe.
Dankzij karlsworld,
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!
  #6 (permalink)  
Old 05-24-2009
curleb curleb is online now
Geregistreerde gebruiker
  
 

Join Datum: maart 2008
Locatie: Hier, in mijn ivoren toren ...
Posts: 68
Picking Up Perl en Robert's Perl Zelfstudie. Online boeken, zowel met een zeer grondige dekking van het onderwerp voor newbs om de taal.
  #7 (permalink)  
Old 05-24-2009
lbailey lbailey is offline
Geregistreerde gebruiker
  
 

Join Date: mei 2009
Posten: 2
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
Nu afdrukken: Hello again
Ontvangen: Hello again 2009
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 04:16 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0