さて、なんだか月曜初日から毒がたまってしまったような。
ま、そんなときはヨガに限りますな。
予約しておいてよかった。
21時から22時までたっぷり汗をかいて、毒出しました。
ちょっと今くらくら・・・@_@~
さて、これで明日も元気でいこう。
eval {
if ($route->{via} eq 'smtp_tls') {
$self->{tls_args} = [
$route->{host},
User => $route->{username},
Password => $route->{password},
Port => $route->{port} || 587,
];
$msg->send_by_smtp_tls(@{ $self->{tls_args} });
} elsif ($route->{via} eq 'sendmail') {
my %param = (FromSender => "<$cfg->{mailfrom}>");
$param{Sendmail} = $route->{command} if defined $route->{command};
$msg->send('sendmail', %param);
} else {
my @args = $route->{host} ? ($route->{host}) : ();
$msg->send($route->{via}, @args);
}
};
<code>
function rand_array_weight($hoge)
{
$ret_val = "";
$aryRetval = array();
foreach($hoge as $key => $val)
{
if($ret_val != ""){break;}
$name = $val["name"];
$weight = $val["weight"];
$rand_val = rand();
switch($weight)
{
case "1":
if($rand_val % 10 == 0 ){ array_push($aryRetval, $val["name"]); }
break;
case "2":
if($rand_val % 5 == 0 ){ array_push($aryRetval, $val["name"]); }
break;
case "3":
if($rand_val % 3.33 == 0 ){ array_push($aryRetval, $val["name"]); }
break;
case "4":
if($rand_val % 2.5 == 0 ){ array_push($aryRetval, $val["name"]); }
break;
case "5":
if($rand_val % 2 == 0 ){ array_push($aryRetval, $val["name"]); }
break;
}// end switch
} //end for
//すべての評価終了後にどの子をだすか、結局乱数で判定。むぅ。
if(count($aryRetval > 0))
{
$randval = rand();
$idx = $randval%count($aryRetval);
$ret_val = $aryRetval[$idx];
}
//あてはまらない場合は再帰しちゃうの;むぅ。
if($ret_val == ""){$ret_val = rand_array_weight($hoge);}
return $ret_val;
} //end func
</code><code>
$hoge = array( "A" => array("name" => "Asuka", "weight" => "5"),
"B" => array("name" => "Bekey", "weight" => "4"),
"C" => array("name" => "Carol", "weight" => "3"),
"D" => array("name" => "Diana", "weight" => "2"),
"E" => array("name" => "Edy", "weight" => "1"),
);
$hyouji = rand_array_weight($hoge);
//print $hyouji;
//DEBUG STRAT
if($debug)
{
$cntLoop = 100;
for($i=0; $i<$cntLoop; $i++)
{
$hyouji = rand_array_weight($hoge);
//print $hyouji ."n";
if($hyouji == "Asuka"){ $cntA++; }
if($hyouji == "Bekey"){ $cntB++; }
if($hyouji == "Carol"){ $cntC++; }
if($hyouji == "Diana"){ $cntD++; }
if($hyouji == "Edy") { $cntE++; }
}
print "#### RESULT ####n";
print "Asuka ".$cntA." :". ($cntA / $cntLoop * 100)."% n";
print "Bekey ".$cntB." :". ($cntB / $cntLoop * 100)."% n";
print "Carol ".$cntC." :". ($cntC / $cntLoop * 100)."% n";
print "Diana ".$cntD." :". ($cntD / $cntLoop * 100)."% n";
print "Edy ".$cntE." :". ($cntE / $cntLoop * 100)."% n";
print "------------------n";
print "Total ".($cntA + $cntB + $cntC + $cntD + $cntE) ."n";
}
//DEBUG END
</code>