Zeiger auf Funktionen

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

cmdline.pl
#!/usr/local/bin/perl

use strict;
use warnings;

my %cmd = (sum => \&sum, quit => \&quit);
while (print(": "), defined(my $line = <STDIN>)) {
   my ($cmdname, @fields) = split /\s+/, $line;
   next unless defined $cmdname;
   if (defined $cmd{$cmdname}) {
      &{$cmd{$cmdname}}(@fields);
   } else {
      print "Unknown command!\n";
   }
}

sub sum {
   my $sum = 0;
   $sum += $_ foreach (@_);
   print $sum, "\n";
}

sub quit { exit 0 }

*Wenn ein Zeiger von einer benannten Funktion gewünscht wird, darf das &-Symbol vor dem Funktionsnamen nicht vergessen werden.
 
*Das &-Symbol ist dann auch beim indirekten Aufruf durch den Zeiger notwendig.
 

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