|
![]() ![]() ![]() ![]() ![]() |
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 |