#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Encode;
use open ':utf8';
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
my @data = (
["パン", 37],
["甘夏", 19],
["苺", 41],
["納豆", 23],
["LOVE", 31],
);
while (<>) {
chomp;
my $r_ref = name2seibun($_, \@data);
foreach my $i (@$r_ref) {
last if $i->[1] == 0;
print "$_ の $i->[1]% は $i->[0] でできています。\n";
}
}
sub name2seibun {
my ($str, $d_ref) = @_;
my $num = 0;
foreach my $d (split(//, encode('utf8', $str))) {
$num *= 256;
$num += unpack("C", $d);
}
my @rv;
my $total;
foreach my $i (@$d_ref) {
my $rate = ($num % $i->[1]) / $i->[1];
push @rv, [$i->[0], $rate];
$total += $rate;
}
@rv = map {
[$_->[0], int($_->[1] / $total * 100)]
} sort {$b->[1] <=> $a->[1]} @rv;
return \@rv;
}
% cat a.txt 矢風太郎 スティーブ・ゲイツ Bill Jobs % ./seibun.pl a.txt 矢風太郎 の 67% は 甘夏 でできています。 矢風太郎 の 15% は LOVE でできています。 矢風太郎 の 8% は パン でできています。 矢風太郎 の 7% は 苺 でできています。 スティーブ・ゲイツ の 35% は 苺 でできています。 スティーブ・ゲイツ の 31% は 納豆 でできています。 スティーブ・ゲイツ の 20% は 甘夏 でできています。 スティーブ・ゲイツ の 10% は パン でできています。 スティーブ・ゲイツ の 3% は LOVE でできています。 Bill Jobs の 24% は パン でできています。 Bill Jobs の 23% は 納豆 でできています。 Bill Jobs の 19% は 苺 でできています。 Bill Jobs の 19% は LOVE でできています。 Bill Jobs の 12% は 甘夏 でできています。
自分が何者かを知るには強みを探せばいい
あなたは「実行者」「表現者」「支援者」「交渉者」のいずれかだろう。
基本的な人間のタイプを考えてみる。




