Mittwoch, 20. Januar 2010

Übung S.38

1. Schreibe ein Programm, dass den Umfang eines Kreises mit Radius 12,5 feststellt (die Einheit ist egal!). Umfang ist Radius*2*PI.

#!/usr/bin/perl -w

$pi = 3.141592654;
$umfang = 12.5*2*$pi;
print "Der Umfang ist $umfang groß";
Theoretisch könnte man mit mehr oder weniger Veriablen arbeiten. Ein guter Ansatz ist es aber immer, feste Variablen, die man evtl. nochmal braucht (vgl PI!) als Variable am Anfang des Programms festzulegen.

2. Modifiziere das obige Programm, so dass der Nutzer den Radius per Standart-Input (STDIN) bekannt geben muss.
#!/usr/bin/perl -w

print "Bitte Radius eingeben: ";
$radius = ;
$pi = 3.141592654;
$umfang = $radius*2*$pi;
print "Der Umfang ist $umfang groß";
3. Modifizieren Sie obiges Programm erneut, so dass bei einer Eingabe kleiner als Null kein negativer Wert ausgegeben wird, sondern 0.
#!/usr/bin/perl -w
$pi = 3.141592654;

print "Bitte Radius eingeben: ";
$radius = ;
if ( $radius lt 0 )
{
$umfang = 0;
}
else
{
$umfang = $radius*2*$pi;
}
print "Der Umfang ist $umfang groß";
4. Schreiben Sie ein Programm, dass 2 Zahlen einließt und das Produkt dieser Zahlen als Ergebnis ausgibt.
#!/usr/bin/perl -w

print "\nBitte Zahl 1 eingeben: ";
$zahl1 = ;
print "\nBitte Zahl 2 eingeben: ";
$zahl2 = ;
$ergebnis = $zahl1 * $zahl2;
print "\nDas Produkt dieser Zahlen lautet: $ergebnis";
5. Schreibe ein Programm, dass eine Zahl und ein Wort einliest (jeweils eigene Eingabeaufforderung). Anschließend soll X mal das Wort auf einer eigenen Zeile ausgegeben werden.
#!/usr/bin/perl -w

print "\nBitte Zahl eingeben: ";
$zahl = ;
print "\nBitte Wort eingeben: ";
$wort = ;
print $wort x $zahl;
Warum werden automatisch Zeilenumsprünge gedruckt? Ganz einfach, das "\n" wird bei STDIN mit eingelesen! Durch den chomp-Befehl könnten wir diesen Zeilensprung entfernen, aber da er von der Aufgabenstellung verlangt wird, ist er in unserer Situation nützlich!

Eingabe / Ausgabe

Wenn man den Inhalt einer Variablen ausgeben möchte, sollten die "quote marks", also Anführungszeichen weggelassen werden.
$zahl = 6;
print "$zahl";
besser:
print $zahl;

Dienstag, 19. Januar 2010

Externe Programme ausführen

Um ein Programm auf dem jew. Server auszuführen, muss der Befehl in backticks gestellt werden.

Damit hat man die umfangreichen Möglichkeiten der shell-Programmierung zu Verfügung. Nachfolgend ein Beispiel:
print `ls -la`;
-> Zeigt uns als Ergebnis den Verzeichnisinhalt an:
insgesamt 28
drwxr-xr-x 2 dirk dirk 4096 2010-01-19 17:01 .
drwxrwxrwx 14 root root 4096 2010-01-19 16:28 ..
-rwxr-xr-x 1 dirk dirk 59 2010-01-19 16:50 perl_1
-rw-r--r-- 1 dirk dirk 58 2010-01-19 16:30 perl_1~
-rw-r--r-- 1 dirk dirk 58 2010-01-19 16:30 perl_1.pl
-rw-r--r-- 1 dirk dirk 38 2010-01-19 17:01 perl_2
-rw-r--r-- 1 dirk dirk 38 2010-01-19 17:00 perl_2~

Perl - der Anfang

Perl ist eine Programmiersprache. Ich versuche sie mit dem Buch "Learning Perl - 5th edition" zu lernen. Das Buch ist in englischer Sprache geschrieben.

Den Start mache ich mit dem Programm "Hello World".

#!/usr/bin/perl -w
use strict;

print "Hello World!\n"
Ein super Start, oder?! ;)