a functional use_module scanner, supports the following

use_module("Module::Name", x.xx)->new( ... );
require_module( 'Module::Name');
use_package_optimistically("Module::Name", x.xx)->new( ... );
my $abc = use_module("Module::Name", x.xx)->new( ... );
my $abc = use_package_optimistically("Module::Name", x.xx)->new( ... );
$abc = use_module("Module::Name", x.xx)->new( ... );
$abc = use_package_optimistically("Module::Name", x.xx)->new( ... );
return use_module( 'Module::Name', x,xx )->new( ... );
return use_package_optimisticall( 'Module::Name', x.xx )->new( ... );