[Cedarvalley] upload problem

Tim Schoenfelder tim at timschoenfelder.com
Wed Mar 31 13:11:54 CST 2004


Stephen D. Wells wrote:

>You probably have already seen this but I just stumbled across it, liked
>it and thought I'd pass it along...
>
>* A one-liner for checking to see if a value exists in a list:
>if ({ map { $_ => 1 } qw(apple orange lemon) }->{apple}) {
>    # do stuff
>}
>
>Here's what's happening:
>
>We are creating an anonymous hash of the values in the list:
>  { apple => 1, orange => 1, lemon => 1 }
>
>Then checking to see if that hash exists
>  { apple => 1, orange => 1, lemon => 1 }->{apple} # should return 1
>
>This replaces code that you see all the time like this:
>my $found = 0;
>{
> for (qw(apple orange lemon)) {
>     next unless $_ eq "apple";
>     $found++;
>     last;
>  }
>}
>if ($found) {
>   # do stuff
>}
>
>* more complex example
>
>I've been using the Class::DBI module for some extranet reporting
>software I created and have a table structure like so:
>
>user	user_access	access
>----	-----------	------
>id	id		id
>name	user_id		name
>pass	access_id
>
>see Class::DBI for how to build your Classes
>
>in one line I can check to see if this user is in the 'admin' group and
>allow my administration functions to override the user functions using
>the following:
>
>if ({ map { $_->access_id->name => 1 }
>	 (EX::DBI::User->accesses)}->{'admin'}) {
>   require "EX/Admin.pm";
>   push (@ISA, 'EX::Admin');
>}
>
>I was kinda' impressed with the fact there it's such a compact piece of
>code.
>
>Thoughts?
>  
>
Nice!  Really Nice!

-- 
Tim Schoenfelder
http://timschoenfelder.com





More information about the Cedarvalley mailing list