- Ich habe ein Skript
execute.pl
und es ruftchild.pl
durchsystem
Anruf. - ich ein Objekt von
AppLogger
in execute.pl Jetzt in diesem
AppLogger
ich den Aufbau einer Verbindung zu meinem Scribe Logging-Server und hatGeordnetes Prozessvariablen innerhalb Child Prozess in Perl- Dieses
AppLogger
ist Paket und eine Schnittstelle zu meinemScribe
Protokollierserver erschaffe verschiedene Funktionen wiesendlog
, die Protokolle an den Server sendet.execute.pl:
use AppLogger; use strict; use warnings; my $logger = new AppLogger; system("perl child.pl")
Wie ich system
wissen, ist ein OS
Anruf und child.pl
wird komplett anders Prozess, aber immer noch gibt es eine Möglichkeit ich $logger
dh AppLogger
Objekt innerhalb child.pl zugreifen können, ohne Erneutes Erstellen eines Verbindungsobjekts jedes Mal, wenn ich protokollieren möchte.
übergeben Sie die Variablen als Argumente und erfassen Sie sie mit 'my $ var = shift;' oder 'my ($ var1, $ var2 ...) = $ _;' –
ja Ich muss auf mein Objekt in Eltern in meinem zugreifen Kindprozess –
Sie können dasselbe mit dem 'eval' anstelle des' system' Aufrufs erreichen. Aber es ist möglicherweise keine gute Idee zu verwenden. –