#!/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% は 甘夏 でできています。
自分が何者かを知るには強みを探せばいい
あなたは「実行者」「表現者」「支援者」「交渉者」のいずれかだろう。
基本的な人間のタイプを考えてみる。