[Vienna-pm] Hausbackene Syntaxerweiterung mit Perl5?
Marcel GrĂ¼nauer
gr at univie.ac.at
Wed Apr 30 08:10:03 PDT 2008
On Apr 30, 2008, at 4:26 PM, Roland Giersig wrote:
> und wie schaut das aus?
>
> @cleverlies = select {$_->{matrikelnr}} where {$_->{marks} > 85} from
> @students;
Die Reihenfolge von WHERE und FROM stimmt nicht, aber sonst schon ganz
ok...
#!/usr/bin/env perl
use warnings;
use strict;
my @students = (
{ id => 1234, marks => 20 },
{ id => 4711, marks => 85 },
{ id => 3000, marks => 86 },
{ id => 9999, marks => 99 },
);
sub SELECT (&@) { my $code = shift; map { $code->() } @_ }
sub WHERE (&@) { my $code = shift; grep { $code->() } @_ }
sub FROM (@) { @_ }
sub id () { $_->{id} }
sub marks () { $_->{marks} }
my @cleverlies = SELECT { id } WHERE { marks > 85 } FROM @students;
More information about the Vienna-pm
mailing list