|
cmdline2.pl |
#!/usr/local/bin/perl -w %cmd = ( 'sum' => sub { my $sum = 0; foreach my $val (@_) { $sum += $val }; print $sum, "\n"; }, 'quit' => sub { exit 0 }, ); while (print(": "), defined($line = <STDIN>)) { ($cmdname, @fields) = split /\s+/, $line; next unless defined $cmdname; if (defined $cmd{$cmdname}) { &{$cmd{$cmdname}}(@fields); } else { print "Unknown command!\n"; } } |
sub { ... } liefert einen Zeiger auf eine anonyme
(also unbenannte) Funktion.
| |
Das erlaubt eine sehr elegante Einbettung von
Funktionen in Datenstrukturen.
|
Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000 |