Deklaration von Parametern II

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

addresses3.pl
sub get_addressbook ($;$) {
   my ($infile, $fieldsep) = @_;
   $fieldsep = ":" unless defined $fieldsep;
   my $book = new IO::File $infile
      or die "Unable to open $infile: $!\n";
   my %address;
   while (<$book>) {
      chomp;
      my ($name, $address) = split /$fieldsep/;
      $address{$name} = $address;
   }
   $book->close;
   return %address;
}

*($;$) steht für zwei skalare Parameter, wovon der zweite optional ist, da er hinter dem Semikolon steht.
 
*Zulässig sind dann beispielsweise

my %address = get_addressbook(&auml;ddressbook");

und

my %address = get_addressbook(&auml;ddressbook", ":");
 

*Unterstützt werden:


$skalare Variable / skalarer Kontext
@Liste / Listen-Kontext
%assoziatives Array / Listen-Kontext
&Verweis auf eine Funktion
*Verweis auf einen Symboltabelleneintrag (Type-Glob)


 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003