- J'ai un script
execute.pl
et il appellechild.pl
àsystem
appel. - Je crée un objet de
AppLogger
dans execute.pl - Ce
AppLogger
est forfait et une interface à monScribe
serveur de journalisation Maintenant dans ce
AppLogger
j'établissement d'une connexion à mon serveur de journalisation Scribe et a diverses fonctions commesendlog
qui envoie des journaux au serveur.Variables de processus parent à l'intérieur du processus enfant en Perlexecute.pl:
use AppLogger; use strict; use warnings; my $logger = new AppLogger; system("perl child.pl")
Comme je sais system
est un OS
appel et child.pl
processus sera complètement différent, mais toujours est-il un moyen que je peux accéder $logger
-à-dire AppLogger
objet à l'intérieur child.pl sans recréer un objet de connexion chaque fois que je veux me connecter.
passer les variables comme arguments et les capturer avec 'my $ var = shift;' ou 'my ($ var1, $ var2 ...) = $ _;' –
oui j'ai besoin d'accéder à mon objet parent dans mon processus enfant –
Vous pouvez obtenir la même chose en utilisant l'appel 'eval' au lieu de' system'. Mais ce n'est peut-être pas une bonne idée à utiliser. –