Sahanya

Sonntag, 30. 05. 2004

Mit Dateien und Ordnern arbeiten

Filed under: — Sahanya @ 14:08

Wie man Dateien einliest und erstellt habe ich ja schon hier behandelt und wie man sie auf verschiedene Eigenschaften testet hier. Jetzt geht es darum, wie man Dateien und Ordner erstellt, l├Âscht, kopiert oder umbenennt und wie man dabei in Verzeichnissen navigiert.

(weiterlesen…)

Donnerstag, 20. 05. 2004

Ausgabeformat

Filed under: — Sahanya @ 13:18

M├Âchte man das Ausgabeformat einer Eingabe (im Folgenden die Datei themen.txt) beeinflussen hilft einem format weiter.

(weiterlesen…)

Montag, 17. 05. 2004

Dateien testen

Filed under: — Sahanya @ 20:45

Dateien k├Ânnen auf die unterschiedlichsten Sachen hin getestet werden. Dazu z├Ąhlt insbesondere das ├ťberpr├╝fen, ob es diese Datei schon gibt (-e), um ein ├ťberschreiben zu verhindern. Au├čerdem kann man auch testen, ob eine Datei ├╝berhaupt lesbar (-r) bzw. ausf├╝hrbar (-x) ist und wann sie das letzte mal ge├Ąndert (-M) wurde.

Eine Ausf├╝hrliche Liste findet man hier. Und hier ein praktisches Beispiel:

(weiterlesen…)

Kontrollstrukturen II

Filed under: — Sahanya @ 20:04

Eine Erg├Ąnzung zu Kontrollstrukturen bzw. Schleifen, sind die Befehle last, redo und next .

(weiterlesen…)

Sonntag, 02. 05. 2004

Bedingungen und Schleifen/Kontrollstrukturen

Filed under: — Sahanya @ 11:00

Um nur unter bestimmten Bedingungen Teile eines Perlskriptes zu aktivieren, verwendet man die folgenden Ausdr├╝cke: if ... else, if ... elsif ...else, unless, while, until, for, foreach. Hier einige Beispiele:

(weiterlesen…)

Subroutinen

Filed under: — Sahanya @ 09:56

Subroutinen rufen Anweisungen auf, die an einer anderen Stelle im Programm definiert werden. Dies geschieht meistens entweder am Ende oder am Anfang.

Subroutinen geben dabei immer ihren letzten Wert aus. Hier einige Beispiele f├╝r den Umgang mit Subroutinen:

(weiterlesen…)

Montag, 26. 04. 2004

Split und Join

Filed under: — Sahanya @ 19:37

Um eine Zeichenkette in einer Variablen aufzuteilen und sie in eine Liste bzw. ein Array einzuf├╝gen wird die Funktion split verwendet. Im folgenden wird aus $a immer @worte qw = ("Sahanya" "lernt" "PHP").

$a = "Sahanya-lernt-PHP";
@worte = split (/-/,$a);
entfernt Bindestriche

$a = "Sahanya lernt PHP";
#@worte = split (/\s+/,$a);
entfernt Leerzeichen

Arbeitet man mit der Standardvariable $_ und m├Âchte dort Leerzeichen entfernen, geht das so:

$_ = "Sahanya lernt PHP";
@worte = split;

Umgekehrt kann man mit join auch Werte aus Listen bzw. Arrays durch Trennzeichen in eine Skalarvariable schreiben:

@worte = qw (
Sahanya
lernt
PHP
);
$a = join (" ",@worte);

Also ist jetzt $a = "Sahanya lernt PHP"

Andere Perl-Themen

Sonntag, 25. 04. 2004

Ersetzen

Filed under: — Sahanya @ 13:03

Das Ersetzen von einzelnen Zeichen oder auch Mustern habe ich ja schon vereinzelt angesprochen, hier jetzt einige Erg├Ąnzungen:

$_= "Sahanya lernt PHP";
s/a/o/;
print $_;
#Sohanya lernt PHP (ersetzt wird nur das erste a)

$_= "Sahanya lernt PHP";
s/a/o/g;
print $_;
#Sohonyo lernt PHP (es werden alle as ersetzt)

$_= "Sahanya lernt PHP";
s/h/y/g;
print $_;
#Sayanya lernt PHP (es werden alle hs ersetzt)

$_= "Sahanya lernt PHP";
s/h/y/gi;
print $_;
#Sayanya lernt PyP (es werden alle hs ersetzt, egal ob gro├č oder klein)

$_= "Sahanya lernt PHP";
s/(\w+)/-$1-/g;
print $_;
#-Sahanya- -lernt- -PHP-

(weiterlesen…)

Samstag, 24. 04. 2004

Spezielle Variablen

Filed under: — Sahanya @ 19:01

Perl legt bestimmte Muster in Standard-Variablen ab, die sich allerdings immer wieder neu ├╝berschreiben.

Eingaben, die keiner speziellen Variablen zugeordnet werden, werden zu $_.

M├Âchte man nur Teile einer Variable ausgeben, kann das so aussehen:

#!\usr\bin\perl -w
$_ = "Sahanya versucht PHP zu lernen";
/v.{3}ucht/;

print "$`\n"; Ausgabe: Sahanya (der Ausdruck vor dem gesuchten Wort)
print "$&\n"; Ausgabe: versucht (das gesuchte Wort)
print "$'\n"; Ausgabe: PHP zu lernen (der Ausdruck hinter dem gesuchten Wort)

Andere Perl-Themen

Muster

Filed under: — Sahanya @ 13:33

Verschiedene Muster k├Ânnen auf unterschiedliche Weise verwendet werden, z.B. um Ersetzungen vorzunehmen oder aber auch um diese in einer bestehenen Skalarvariable zu finden bzw. zu sehen, ob das Muster pa├čt ( =~ m/muster/) — m: match bzw. passen

(weiterlesen…)

Montag, 19. 04. 2004

Mit Hashs arbeiten

Filed under: — Sahanya @ 18:53

Erg├Ąnzung zum Beitrag Hash.

(weiterlesen…)

Montag, 12. 04. 2004

Mit Arrays arbeiten

Filed under: — Sahanya @ 22:03

Nachdem Arrays hier vorgestellt wurden, jetzt einige praktische Beispiele:

(weiterlesen…)

Sonntag, 11. 04. 2004

chop und chomp

Filed under: — Sahanya @ 14:04

Der Befehl chop entfernt das letzt Zeichen einer Skalarvariabel:

$a = "Sahanya";
chop ($a);
# Sahany (letzter Buchstabe fehlt)
chop ($a); #Sahan (“)

W├Ąhrend der Befehl chomp sich nur auf den Newline-Befehl \n bezieht.

Eine Eingabeaufforderung mit <STDIN> wird in der Regel mit chomp beendet, um sicherzustellen, dass das Newline-Zeichen entfernt wird:

$eingabe = <STDIN>;
chomp $eingabe;

Das ganze geht aber auch k├╝rzer:

chomp ($eingabe = <STDIN>);

Manchmal sollte bzw. muss man allerdings nach einer Eingabeaufforderung auch auf den chomp-Befehl verzichten, z. B. wenn man m├Âchte, dass ein Wert in getrennten Zeilen untereinander ausgegeben wird.

(weiterlesen…)

Vergleichsoperatoren

Filed under: — Sahanya @ 10:32
Zahl Zeichen
gleich (equal) == eq
ungleich (not equal) != ne
kleiner als (lesser than) < lt
gr├Â├čer als (greater than) > gt
kleiner oder gleich (less or equal) <= le
gr├Â├čer oder gleich (greater or equal) >= ge

Vergleichsoperatoren f├╝r Zahlen und Zeichenketten sollte man tunlichst nicht verwechseln, denn 5 ist kleiner als 20 >, aber 5 lt 20 ist nicht wahr, denn 2 kommt vor 5.

Andere Perl-Themen

Operatoren f├╝r Zeichenketten

Filed under: — Sahanya @ 10:22

Ein Punkt h├Ąngt Zeichenketten aneinander, ein x gibt die Zeichenkette x-mal aus:

print "sahanya"."perun"; #sahanyaperun
print "sahanya"." "."perun"; #sahanya perun
print "sahanya" x 3; #sahanyasahanyasahanya
print 5 x 3; # 555

Setzt man Skalarvariablen bei der Aneinanderh├Ąngung von Zeichenketten ein, sieht das ganze so aus:

$a = "sahanya";
$b = "perun";
$a = "$a"."$b";
print $a;
#sahanyaperun

K├╝rzer geht die Aneinanderh├Ąngung von Zeichenketten auch so — anstatt der dritten Zeile im obigen Beispiel:

$a .= $b;

Andere Perl-Themen

Operatoren f├╝r Zahlen

Filed under: — Sahanya @ 09:42

Um mit Zahlen zu rechnen kann man eigentlich seiner Intuition folgen :-) Damit das auch immer funktioniert, hier die Operatoren:

(weiterlesen…)

Freitag, 09. 04. 2004

Sonderzeichen

Filed under: — Sahanya @ 10:59

Gibt man in Perl Text innerhalb von doppelten Anf├╝hrungszeichen ein, kann man zus├Ątzliche Befehle durch die Abtrennung von einem Backslash anf├╝gen:

Das einfachste Beispiel ist wohl "Hallo Welt\n"

Weitere Befehle sind …

(weiterlesen…)

Sonntag, 04. 04. 2004

Einfacher Umgang mit Dateien

Filed under: — Sahanya @ 16:36

Um eine vorher erstellte Datei einzulesen gibt man folgenden Code ein:

#!/usr/local/bin/perl -w

open (DATEILESEN,"test.txt") || die "geht nicht";
#├Âffnet dieses Datei oder Fehlermeldung
while (defined ($i = <DATEILESEN>)) { #gibt solange etwas aus bis kein Text mehr da ist
print $i }
close (DATEILESEN);
#schlie├čt die Datei wieder

M├Âchte man, dass der Text der test.txt in eine ander Datei (hier test1.txt) kopiert wird, geht das so:

#!/usr/bin/perl -w

open (DATEILESEN,"test.txt") || die "einlesen geht nicht";
open (DATEISCHREIBEN, "> test1.txt") || die "schreiben funktioniert nicht";
while (defined ($i = <DATEILESEN>)) {
print DATEISCHREIBEN $i }
#schreibt das gefundene in die neue Datei
close (DATEILESEN);
close (DATEISCHREIBEN) || die "Fehler beim Schlie├čen\n";

M├Âchte man, dass der Text in einer Datei nicht ├╝berschrieben wird, sondern drangeh├Ąngt wird, muss man dem Dateinamen zwei > voranstellen.

Andere Perl-Themen

Freitag, 02. 04. 2004

Hash

Filed under: — Sahanya @ 18:13

Ein Hash ist ein Array mit assoziativen Elementen, d. h. diese stehen miteinander in Beziehung. Das einfachste Beispiel w├Ąre eine Liste mit Namen und den dazugeh├Ârigen Pa├čworten.


%hash = qw (
sahanya passwort1
perun passwort2
);

Angesprochen werden einzelne Elemente so:

(weiterlesen…)

Array

Filed under: — Sahanya @ 17:56

Ein Array besteht aus mehreren Variablen und ist wie folgt aufgebaut:

@array = "Sahanya", "Perun" oder einfacher

@array = (Sahanya Perun)

M├Âchte man auf einzelne Variablen zugreifen, so geht das mit einer sogenannten Indexreferenz:

$array[0] — hier wird auf Sahanya zugegriffen

$array[1] — hier wird auf Perun zugegriffen

Der Array kann auch als Indexreferenz zusammengefa├čt werden und wird dann mit $array[$i] angesprochen. Einzelne Elemente w├Ąren dann $i = 0 (Sahanya) bzw. $i = 1 (Perun).

Andere Perl-Themen

„flexible” Skalarvariablen

Filed under: — Sahanya @ 17:44

M├Âchte man bei der ├ťberpr├╝fung von Skalarvariablen, die ├╝ber die Eingabe $name = <STDIN> erfolgt sind, z. B. bei der Frage nach einem Namen (hier f├╝r das Beispiel Sahanya) mehrere Varianten zulassen, so gibt es folgende M├Âglichkeiten:

(weiterlesen…)

Hilfe

Filed under: — Sahanya @ 17:23

M├Âchte man, dass Perl einem eine Fehlermeldung ausgibt, die Hinweise auf Ursachen liefert, muss man die Eingangszeile um “-w” erweitern, so dass sie dann folgenderma├čen aussieht:

#!/usr/bin/perl -w

Hilfe zu einzelnen Befehlen erh├Ąlt man, wenn man folgendes eintippt:

perldoc -f befehl

Andere Perl-Themen

Freitag, 26. 03. 2004

Perl Beine machen …

Filed under: — Sahanya @ 19:52

… oder wie bringe ich Perl-Skripte zum Laufen:

Also man braucht 3 Sachen:

1. Perl
2. einen lokalen Webserver, ich nutze Apache
3. einen Editor, ich nutze Proton (es geht aber auch mit einem normalen Texteditor wie notepad o. ├Ą.)

ach ja und Geduld!

(weiterlesen…)

Perl – der Anfang

Filed under: — Sahanya @ 17:29

Einf├╝hrung in Perl So, eine neue Kategorie geht online :)

Da ich aus beruflichen Gr├╝nden (aber auch aus privatem Interese) Perl lernen m├Âchte, werde ich hier (wie immer in unregelm├Ą├čigen Abst├Ąnden) meine Lernerfolge und -mi├čerfolge (davon wird es bestimmt einige geben) kundtun. Au├čerdem werde ich Links posten, die mir bei meiner Lernerei geholfen haben und vielleicht auch schon bald kleine Skripte bzw. Erl├Ąuterungen zu Begriffen aus der Perl-Sprache.

Zum Lernen benutz ich zur Zeit das Buch „Einf├╝hrung in Perl” von Randal L. Schwartz und Tom Christiansen.

Zu allererst: „Perl” steht f├╝r Practical Extraction and Report Language oder auch f├╝r Pathologically Eclectic Rubbish Lister.

Freuen w├╝rde ich mich nat├╝rlich ├╝ber Tipps und Kommentare von Profis bzw. anderen „Perl-Lernern”.

Themen:
Perl Beine machen
Hilfe
„flexible” Skalavariablen
Array
Hash
Einfacher Umgang mit Dateien
Sonderzeichen
Operatoren f├╝r Zahlen
Operatoren f├╝r Zeichenketten
Vergleichsoperatoren
chop und chomp
Mit Arrays arbeiten
Mit Hashs arbeiten
Muster
Spezielle Variablen
Ersetzen
Split und Join
Subroutinen
Bedingungen und Schleifen/Kontrollstrukturen
Kontrollstrukturen II
Dateien testen
Ausgabeformat
Mit Dateien und Ordnern arbeiten

 

Powered by WordPress | Angepasst von: www.vlad-design.de