/blog/perl


substr() in Perl
[154170 mal gelesen]
foreach in Perl
[129166 mal gelesen]
Arrays in Perl - Besonderheiten
[125384 mal gelesen]
split() in Perl - Zeichenketten teilen
[113580 mal gelesen]
open() - Dateien öffnen in Perl
[108992 mal gelesen]
grep - Listen durchsuchen in Perl
[94729 mal gelesen]
chomp() in Perl
[93644 mal gelesen]
push in Perl
[90859 mal gelesen]
sleep in Perl - Das aktuelle Script warten lassen
[75984 mal gelesen]
index() in Perl - Zeichenkette in Zeichenkette suchen
[59577 mal gelesen]


Arrays
Dateien
HTPC
Hashes
Leistungsoptimiert
PHP
Perl
RegEx
Schleifen
Script
Skalare
Sonstiges
System
Webserver
Zur Startseite


Thema System


Mittwoch, 2.5.2007, 10:15:42 Uhr

Vordefinierte Variablen in Perl


Ich habe ja bereits hier schon mal über vordefiniete Variablen in Perl geschrieben. Es gibt jedoch noch mehr, die ich dann nun hier nochmal beschreiben will. Ich hoffe, ich hab keine weiter vergessen und hab sie nun alle...
$_
Enthält in Schleifen, sofern keine anderere Variable angegeben ist, den jeweils aktuellen Wert.
Das $_ wird von manchen Befehlen in Perl auch als Standartwert verwendet (siehe hier: Befehle, die $_ als Standartwert verwenden).

Weiterlesen...


Der Beitrag "Vordefinierte Variablen in Perl" wurde 12504 mal gelesen.

Kompletten Beitrag lesen Nach oben



Samstag, 14.4.2007, 00:00:23 Uhr

rename - Dateien und Verzeichnis umbenennen


Mit dem Befehl rename können Sie Dateien und Verzeichnisse umbenennen.
Der Syntax von rename lautet
rename (Altername, Neuername);

Altername gibt die Datei oder das Verzeichnis an, das geändert werden soll, Neuername ist der neue Verzeichnis- bzw. Dateiname.
Vorsicht
Wenn der erste Parameter eine Datei ist und der zweite Parameter der Name eines anderen Verzeichnisses, wird die Datei in das andere Verzeichnis verschoben.
Weiterlesen...


Der Beitrag "rename - Dateien und Verzeichnis umbenennen" wurde 31884 mal gelesen.

Kompletten Beitrag lesen Nach oben



Freitag, 13.4.2007, 00:09:35 Uhr

rmdir - Ein Verzeichnis löschen mit Perl


Mit rmdir kann man unter Perl ein Verzeichnis löschen. Dazu muß dieses Verzeichnis allerdings vollkommen leer sein, es dürfen auch keine weiteren, leeren, Unterverzeichnisse enthalten sein.

Syntax
rmdir (Verzeichnis);

Wurde das Löschen erfolgreich durchgeführt, wird ein true zurückgegeben, andernfalls ein false. Zusätzlich findet man dann in $! eine Fehlermeldung im Textformat.
Weiterlesen...


Der Beitrag "rmdir - Ein Verzeichnis löschen mit Perl" wurde 13717 mal gelesen.

Kompletten Beitrag lesen Nach oben



Donnerstag, 12.4.2007, 00:01:09 Uhr

chdir - Aktuelles Arbeitsverzeichnis definieren


Mit dem Befehl chdir legen Sie ein Verzeichnis als Arbeitsverzeichnis fest. Das bedeutet, daß man, ohne sich um den Verzeichnispfasd kümmern zu müssen, Dateien bearbeiten oder Scripte starten kann, die in diesem Verzeichnis liegen.

Syntax
chdir($pfad);

Der Pfadname kann dabei relativ oder absolut verwendet werden. Außerdem ist es auch möglich, daß kein Pfadname angegeben wird. Dann wird das Verzeichnis verwendet, das in der Umgebungsvariablen HOME angegeben ist.
Weiterlesen...


Der Beitrag "chdir - Aktuelles Arbeitsverzeichnis definieren" wurde 9838 mal gelesen.

Kompletten Beitrag lesen Nach oben



Mittwoch, 11.4.2007, 00:02:03 Uhr

Dateitestoperatoren - Eigenschaften von Verzeichnissen und Dateien feststellen


Die so genannten Dateitestoperatoren sind die schnellste und einfachste Methode in Perl, Eigenschaften von Dateien oder Verzeichnissen herauszufinden.
Manche Operatoren geben dabei nur true oder false zurück, andere wiederum Zahlen, etwa die Größe einer Datei.

Den Dateitestoperatoren wird ein - vorangestellt, danach folgt der Verzeichnis- bzw. Dateiname. Also zum Beispiel:

$size=-s 'dateiname.txt';
print $size;


Weiterlesen...


Der Beitrag "Dateitestoperatoren - Eigenschaften von Verzeichnissen und Dateien feststellen" wurde 11652 mal gelesen.

Kompletten Beitrag lesen Nach oben



Sonntag, 8.4.2007, 00:04:27 Uhr

rewinddir - Zeiger wieder auf den ersten Verzeichniseintrag setzen


Mit dem Befehl rewinddir() wird der Lesezeiger eines Directory-Handles wieder auf den Anfang gesetzt.
Man kann den Befehl dazu verwenden, wenn ein bereits (teilweise) eingelesenes Verzeichnis erneut eingelesen werden soll.

Syntax
rewinddir(DIR);

Weiterlesen...


Der Beitrag "rewinddir - Zeiger wieder auf den ersten Verzeichniseintrag setzen" wurde 6921 mal gelesen.

Kompletten Beitrag lesen Nach oben



Mittwoch, 4.4.2007, 00:04:03 Uhr

closedir - Verzeichnis schließen


Schließt das Handle eines Verzeichnisses, das vorher mit opendir geöffnet wurde.

Syntax
opendir(verzeichnis);


opendir(my $DIR,'../') || die "Kann Verzeichnis nicht öffnen: $!";
foreach (my $eintrag=readdir($DIR)){
print "$_\n";
}
closedir ($DIR);


Weiterlesen...


Der Beitrag "closedir - Verzeichnis schließen" wurde 7297 mal gelesen.

Kompletten Beitrag lesen Nach oben



Montag, 26.3.2007, 00:04:27 Uhr

opendir() - Verzeichnis öffnen zum Auslesen in Perl


Mit dem Befehl opendir() kann man unter Perl ein Verzeichnis zum Einlesen öffnen. Dies wird im Allgemeinen dazu verwendet, eine Dateiliste einzulesen um sie weiter zu verarbeiten.

Syntax
$result=opendir(handle,verzeichnis);

Das handle kann frei gewählt werden, als Verzeichnis sind Angaben in relativer als auch absoluter Form erlaubt, also zum Beispiel '../test' oder '/usr/bin' (Unix) oder unter DOS 'c:/'.
Weiterlesen...


Der Beitrag "opendir() - Verzeichnis öffnen zum Auslesen in Perl" wurde 46675 mal gelesen.

Kompletten Beitrag lesen Nach oben



Freitag, 23.3.2007, 10:31:07 Uhr

Sicheres sendmail-Script


Ich habe bereits hier auf die möglichen Risiken von sendmail hingewiesen. Sendmail kann dazu verwendet werden, Spam zu versenden oder auch um Systemdateien auszulesen. Deswegen sollte man alle unzulässigen Zeichen aus extern eingelesenen Parametern am Besten mit einer Fehlermeldung entfernen. Ich habe deswegen aus aktuellem Anlaß das folgende Script nach den mir vorliegenden Erkenntnissen erstellt, so daß ein Mißbrauch ausgeschlossen werden kann.

#!/usr/bin/perl

print "Content-Type: text/html\n\n";
print "<HTML>\n<HEAD>\n";

use strict;
&send_mail(
'returnadresse@server.com',
'empfaenger.adresse@seinserver.com',
'absenderadresse@meinserver.com',
'Subject',
'Mailtext'
);


print "OK, Mail versandt...";

sub send_mail{
local *SENDMAIL;
my $ok='';
my $SENDMAIL='';

my $returnadresse=shift;
my $to=shift;
my $from=shift;
my $subject=shift;
my $mailtext=shift;

# gültige Zeichen in Mailadressen sind:
# a-z A-Z 0-9 _ \- \+ \* \$ \. \@
# falls andere Zeichen auftreten -> STOPP
die ('wrong returnadresse') if ($returnadresse=~ /[^a-zA-Z0-9_\-\+\*\$\.\@]/);
die ('wrong to:') if ($to=~ /[^a-zA-Z0-9_\-\+\*\$\.\@]/);
die ('wrong from:') if ($from=~ /[^a-zA-Z0-9_\-\+\*\$\.\@]/);
die ('no mailtext') if ($mailtext eq '');
die ('no subject') if ($subject eq '');
die ('wrong subject') if ($subject=~ /[\n\0\t\r\0\|]/);

my @sendmails=(
'/usr/sbin/sendmail',
'/usr/bin/sendmail',
'/usr/lib/sendmail'
);

# prüfen, wo sendmail sich befindet
foreach (@sendmails){
if (open (SENDMAIL,"|$_ -t")){
$SENDMAIL=$_;
close SENDMAIL;
last;
}
}

die ('Can not find sendmail!!!') if ($SENDMAIL eq '');

open (SENDMAIL,"|$SENDMAIL -t -f $returnadresse") || die('can not open sendmail');
print SENDMAIL <<EOF;
To: $to
Subject: $subject
From: $from
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit


$mailtext
EOF
close SENDMAIL;
}


Beschreibung
In der Funktion send_mail werden zuerst alle Parameter eingelesen, und zwar in der Reihenfolge:
Returnadresse, falls eine Mail nicht zugestellt werden kann oder der Empfänger antworten will
Weiterlesen...


Der Beitrag "sendmail-Script" wurde 13295 mal gelesen.

Kompletten Beitrag lesen Nach oben



Donnerstag, 22.3.2007, 13:27:48 Uhr

Mails versenden mit Perl - Sendmail


Jeder, der Perl dazu verwendet, um Internetseiten zu betreiben bzw. Internetdienste betreibt, steht irgendwann vor dem Problem, daß er auch mal eine oder auch mehrere Emails versenden will bzw. muß.

Der meist verwendete Ansatz ist die Verwendung von sendmail. Sendmail ist ein Systemdienst von Unix bzw. Linux (das ja ein Unix-Derivat ist).
Eine Lösung könnte z.B. so aussehen:

$text="Dies ist der Text, der versendet werden soll. Natürlich ist dies nur zum Ausprobieren gedacht";

$SENDMAIL='/usr/sbin/sendmail';
open (SENDMAIL,"|$SENDMAIL -t -f -odq meine.mailadresse\@mein-server.de") || &fehler("Kann sendmail nicht öffnen");
print SENDMAIL <<EOF;
To: $sendto
Subject: $subject
From: meine.mailadresse\@mein-server.de
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit


$text
EOF

close SENDMAIL;


Weiterlesen...


Der Beitrag "Mails versenden mit Perl - Sendmail" wurde 29912 mal gelesen.

Kompletten Beitrag lesen Nach oben



B l o o g
1
2
3


SSD-Festplatte - Wassn das???
Die Transliteration - Nur ein Zeichen in einem Skalar ersetzen
Select - Case in Perl
Windows 7 XP Mode – Wo finde ich den XP-Modus unter Windows 7?
Mac-Adresse beim Apple Macintosh herausfinden
SGN-Funktion für Perl

Eigene IP herausfinden mit Perl
Epoche live in Datum umwandeln
Firefox 3 - Exe-Files downloaden


Gesamtverzeichnis
Februar 2010
Dezember 2009
Oktober 2009
Januar 2009
Dezember 2008
November 2008
September 2008
August 2008
Juli 2008
Juni 2008
Mai 2008
April 2008
Januar 2008
Dezember 2007
November 2007
Oktober 2007
September 2007
August 2007
Juni 2007
Mai 2007
April 2007
März 2007
Februar 2007
Januar 2007
Dezember 2006


Mister Wong

RSS-Feed

Heute ist der
23.11.2024

Es ist
16:33:08 Uhr

Ihre IP:
3.145.154.251

Blog-Einträge: 186

Die letzten 24 Stunden im Überblick


Gelesene Beiträge insgesamt:
4424038


Webseiten vergleichen
Kalender mit Feiertagen - 2028
Links finden und testen
Menschliche Datumsangaben
IP zu Domain herausfinden
Time live in Datum umwandeln
Perl für Windows



Impressum