grep 函数介绍

@database = ( { name => "Wild Ginger", city => "Seattle", cuisine => "Asian Thai Chinese Korean Japanese", expense => 4, music => "\0", meals => "lunch dinner", view => "\0", smoking => "\0", parking => "validated", rating => 4, payment => "MC VISA AMEX", }, # { ... }, etc. ); sub findRestaurants { my ($database, $query) = @_; return grep { $query->{city} ? lc($query->{city}) eq lc($_->{city}) : 1 and $query->{cuisine} ? $_->{cuisine} =~ /$query->{cuisine}/i : 1 and $query->{min_expense} ? $_->{expense} >= $query->{min_expense} : 1 and $query->{max_expense} ? $_->{expense} <= $query->{max_expense} : 1 and $query->{music} ? $_->{music} : 1 and $query->{music_type} ? $_->{music} =~ /$query->{music_type}/i : 1 and $query->{meals} ? $_->{meals} =~ /$query->{meals}/i : 1 and $query->{view} ? $_->{view} : 1 and $query->{smoking} ? $_->{smoking} : 1 and $query->{parking} ? $_->{parking} : 1 and $query->{min_rating} ? $_->{rating} >= $query->{min_rating} : 1 and $query->{max_rating} ? $_->{rating} <= $query->{max_rating} : 1 and $query->{payment} ? $_->{payment} =~ /$query->{payment}/i : 1 } @$database; } %query = ( city => 'Seattle', cuisine => 'Asian|Thai' ); @restaurants = findRestaurants(\@database, \%query); print "$restaurants[0]->{name}\n"; 输出结果: Wild Ginger
共2页 首页 上一页 [1] [2下一页 尾页>
相关信息
相关评论
相关文章
字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z