<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.wingeav.de/index.php?action=history&amp;feed=atom&amp;title=Perl_Shell_Command_ausf%C3%BChren</id>
	<title>Perl Shell Command ausführen - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wingeav.de/index.php?action=history&amp;feed=atom&amp;title=Perl_Shell_Command_ausf%C3%BChren"/>
	<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Perl_Shell_Command_ausf%C3%BChren&amp;action=history"/>
	<updated>2026-04-17T14:05:28Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in MyWiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Perl_Shell_Command_ausf%C3%BChren&amp;diff=166&amp;oldid=prev</id>
		<title>81.200.198.20: Die Seite wurde neu angelegt: „Es gibt in Perl mehrere Möglichkeiten einen Shell-Command auszuführen.&lt;br&gt; Für mich hat sich folgende Methode bewährt&lt;br&gt;   #!/usr/bin/perl   use IPC::Cmd…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Perl_Shell_Command_ausf%C3%BChren&amp;diff=166&amp;oldid=prev"/>
		<updated>2016-08-22T07:37:56Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „Es gibt in Perl mehrere Möglichkeiten einen Shell-Command auszuführen.&amp;lt;br&amp;gt; Für mich hat sich folgende Methode bewährt&amp;lt;br&amp;gt;   #!/usr/bin/perl   use IPC::Cmd…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Es gibt in Perl mehrere Möglichkeiten einen Shell-Command auszuführen.&amp;lt;br&amp;gt;&lt;br /&gt;
Für mich hat sich folgende Methode bewährt&amp;lt;br&amp;gt;&lt;br /&gt;
  #!/usr/bin/perl&lt;br /&gt;
  use IPC::Cmd qw[can_run run run_forked];&lt;br /&gt;
  my ($success, $error_message, $full_buffer, $stdout_buf, $stderr_buf ) = run( command =&amp;gt; &amp;quot;&amp;lt;pfad/zu/command_oder_script&amp;gt; &amp;lt;Parameter&amp;gt;&amp;quot;, verbose =&amp;gt; 0 );&lt;br /&gt;
Success ist ein &amp;quot;Boolean&amp;quot; und kann mit &amp;lt;b&amp;gt;if ($success)&amp;lt;/b&amp;gt; geprüft werden.&amp;lt;br&amp;gt;&lt;br /&gt;
$error_message ist ein normaler String und enthält eine eventuelle Fehlermeldung&amp;lt;br&amp;gt;&lt;br /&gt;
der Rest sind Array-Referenzen, die z.b. mit &amp;lt;b&amp;gt;@{$full_buffer}&amp;lt;/b&amp;gt; in einen richtigen Array umgewandelt werden können (dereferenziert werden)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;WICHTIG: wird ein Perl Script als cronjob ausgeführt, muss immer der vollständige Pfad im run-command Teil in Perl angegeben werden.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Das gilt auch für Shell-Befehle wie &amp;quot;Service ... restart&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
in diesem Fall mit &amp;lt;b&amp;gt;which &amp;lt;shell_befehl&amp;gt;&amp;lt;/b&amp;gt; den vollständigen Pfad ermitteln und im Perl-Command Teil angeben.&amp;lt;br&amp;gt;&lt;br /&gt;
Bsp:&amp;lt;br&amp;gt;my ($success, $error_message, $full_buffer, $stdout_buf, $stderr_buf ) = run( command =&amp;gt; &amp;quot;&amp;lt;b&amp;gt;/usr/sbin/service&amp;lt;/b&amp;gt; icinga2 reload&amp;quot;, verbose =&amp;gt; 0 );&lt;/div&gt;</summary>
		<author><name>81.200.198.20</name></author>
	</entry>
</feed>