Windows Dienst mit Perl

fiber opticWin32::Daemon;
Win32::Daemon::StartService();
while (SERVICE_START_PENDING != Win32::Daemon::State()) {
sleep(1); }
Win32::Daemon::State(SERVICE_RUNNING);
while (1) {
open FOUT, „>>c:\\win32testserv.log“;
print FOUT localtime() . „\n“;
close FOUT;
sleep 3;
if (Win32::Daemon::State() == SERVICE_STOP_PENDING) {
open FOUT, „>>c:\\win32testserv.log“;
print FOUT „Jetzt ist aber Schluss\n“;
close FOUT;
exit 0;
} }
Win32::Daemon::StopService();
Win32::Daemon::State(SERVICE_STOPPED);
#Nennen wir das obenstehende Skript ‚test.pl‘ und sagen wir, das hier gehts weiter …

FTP mit Proxy und Perl

$FTPSERVER      = „blabla.com“;
$USERNAME       = „ichauch“;
$USERPASS       = „sdfsfw“;
$FTPVERZEICHNIS = „/“;
$FTPPROXY       = „proxyd.de:2121“;
$FTPPORT        = „21“;
while(1)
{
$ftp = Net::FTP->new($FTPSERVER,Firewall=>$FTPPROXY,FirewallType=>1,Port=>$FTPPORT,Debug=>1) || die LogMeldung(„Keine Verbindung mit $FTPSERVER\n“);  # Hier wird die Verbindung geöffnet und geprüft!
$ftp->login($USERNAME,$USERPASS)           || die LogMeldung(„Fehler beim einloggen.\n“);           # Hier Benutzername und Password eintragen
$ftp->cwd($FTPVERZEICHNIS)                 hier gehts weiter …

Perl startet Programm mit Timeoute

>Тюмень ландшафтrent a car bulgariaEnglish;
@Ruck= SystemCmd(”e: && cd\\.. && Test.bat”);
print @Ruck;
sub SystemCmd
{
eval {
local $SIG{ALRM} = sub { die “Alarm” };
alarm(10);
system($_[0].”>\\SystemCmd.dat”);
open FILE,”<\\SystemCmd.dat” or print “File fehler\n”;
@dat=<FILE>;
close FILE;
alarm(0);
};
if ($EVAL_ERROR=~ /Alarm/)  { return (”Timeout bei $_[0], Error, ERROR, Timeout Fehler!!”);  }
else                        { return hier gehts weiter …