use Cache::FileCache; my $cache = Cache::FileCache->new; if(not $cache->get( $username )) { do_authentication(); if($authentication_succeeded) { $cache->set( $username, 1, "10 minutes" ); } }