www.farid-hajji.net banner

Farid Hajji

Perl: Einführung, Anwendungen, Referenz (2/e) [Support-Site]

Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2

Beispielprogramm

quickdata.pl
#!/usr/local/bin/perl -w
# quickdata.pl -- Grund- und zusammengesetzte Typen
#           zusammen mit den Variablen, die sie enthalten.

# Die folgenden Zeilen dienen nur dazu, Warnungen ueber
# nicht benutzte Variablen zu unterdruecken:
use vars qw ( $number $inum $strdbl $strsgl $number_p $fh $func_p );
use vars qw ( @mylist1 @mylist2 %telephon %dispatcher );

# Grundtypen sind Zahlen, Strings, Zeiger und Filehandles.
# Sie koennen in skalare Variablen gespeichert werden.
# Alle skalaren Variablen fangen mit einem Dollar-Zeichen an.

#### Zahlen
$number     = 3.141592654;          # Gleitkommazahl
$inum       = 4711;                 # Ganze Zahl (integer)

#### Strings
$strdbl     = "Hello World!\n";     # "Zeichenkette"
$strsgl     = 'Newline is \n, OK?'; # 'Zeichenkette'

#### Referenzen
$number_p   = \@ARGV;               # Zeiger auf @ARGV

#### Filehandles
open (FHANDLE, "< input.file") or warn $!;  # FHANDLE Filehandle
$fh         = \*FHANDLE;            # Filehandle in Variable

#### Referenzen auf Funktionen
$func_p     = sub { 
                print "hello, world!\n";
                print 4+7, "\n";
              };

# Zusammengesetzte Typen bestehen aus mehreren Elementen eines
# oder mehrerer Grundtypen. Grundtypen duerfen auch gemischt
# innerhalb der gleichen Struktur verwendet werden.
# Zusammengesetzte Typen koennen in Arrays, die mit @ anfangen,
# oder in Hashes, die mit % anfangen, gespeichert werden:

#### Listen
@mylist1    = ( 4711, 9999, 3333 );     # Homogene Liste aus Zahlen
@mylist2    = ( 4711, "hi", \@mylist1); # Heterogene Liste aus
                                        # Zahlen, Strings und Refs

#### Assoziative Arrays
%telephon   = ( 'Tim'     => '555-2341',
                'John'    => '555-4343',
                'Daphne'  => '555-4222' );
%dispatcher = ( 'add'     => sub { $_[0] + $_[1]; },
                'sub'     => sub { $_[0] - $_[1]; },
                'mul'     => sub { $_[0] * $_[1]; },
                'div'     => sub { $_[0] / $_[1] if $_[1]; } );

# Auf Arrays kann man mit Hilfe eines Index zugreifen.
# Dabei steht das erste Element an der Stelle 0.
# Der Index wird in eckigen Klammern angegeben.
# Da die einzelnen Elemente eines Arrays wiederum Skalare sind,
# muessen sie mit einem Dollar-Zeichen angesprochen werden:

print $mylist1[2], "\n";                # Zeigt 3333 an.
print $mylist2[1], "\n";                # Zeigt hi an.

# Auf Hashes greift man mit Hilfe eines String-Index zu.
# Der Index wird im Gegensatz zu Arrays in geschweiften Klammern
# angegeben.
# Da einzelne Elemente eines Hashes wiederum skalare Werte sind,
# sind diese mit einem Dollar-Zeichen anzusprechen:

print $telephon{'Daphne'}, "\n";        # Zeigt 555-4222 an.
print &{$dispatcher{'add'}}(3,2), "\n"; # Zeigt 5 an (3+2).
   

[Prev] [Up] [Relevant Chapter] [Next]

[Alte Quelle]


Last modified: $Date: 2006/05/18 12:56:02 $
FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy
FreeBSD Logo