Skypeの「設定」メニューをクリックしただけなのに、何回も画面のチラツキが発生して音沙汰がなくなったので、Ctrl+Alt+Delしたら発生。
今までどのくらいプログラミング言語を触ってきたか(3秒で飽きたものも含む)
ぼくのおもひで。
・N88BASIC
ベーマガ読んでたら必須
・C
PC98のゲーム改造するのに必須だった。すっかり忘れてPerl/XSに手が出ない。
・C++
オブジェクト指向とか知らんまま何となく勉強した。
・Perl
CGI作る言語だと思ってた。今一番使ってる。JPAに加盟した。
・CASL
情報処理の試験対策のため勉強した。結局Cの問題正解して受かった。
・Visual Basic~6.0
GUIのおもちゃを作った程度。
・Visual C++~6.0
ハンガリアン記法の意味がわからなすぎて挫折した。
・COBOL
入社後の研修で習った。未だに業務で使ったことがない。
・HSP
USB認証キーのID/PW受けとるだけのツール作った。もう二度と使わないだろう。
・PHP
Perlでmod_perlの使い方が分からずにPHPに逃げた。今はお守り程度。
・Whitespace
ネタ
・Brainf*ck
ネタ
・Java
OOPのPerlを理解するために勉強を始めた。SJC-AとSJC-P取った。業務でまったく使わない。
・Ruby
Railsを使うために勉強したがまともなものは完成しなかった。ちょっとしたツール作成に使う。
・VB.NET
VSTOの検証を行った時にC#だと無駄な引数を大量に記述しなきゃならなかったのでこっちを使った。もうやってない。
・C#
GUIのツール作るときに使う。
・Python
RedHatの設定ファイルいじるためにちょっとだけかじった。
・Javascript
Webアプリ作るときに必須だが、いまいちとっかかりがなくマトモに学習できてない。ちゃんと勉強したい。
[Perl]新型インフルエンザの状況を調べる
職場から「新型インフルエンザの状況が第二段階(国内発生早期)またはそれ以上の段階となった場合はマスクをして来い」とお達しが出ましたが、いちいち厚生労働省のページを見に行くのがメンドくさかったのでツール作った。
2009/05/13 動かなくなってたのでlook_down(‘class’, ‘link’)をlook_down(‘class’, ‘link_icon’)に変更しました。
H1N1-Stage-Japan.pl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | use strict; use warnings; use HTML::TreeBuilder; use HTTP::Lite; use Perl6::Say; my $uri = 'http://www-bm.mhlw.go.jp/bunya/kenkou/kekkaku-kansenshou04/'; my $http = new HTTP::Lite; $http->request($uri) || die $!; my $body = $http->body; my (undef, $tag) = HTML::TreeBuilder->new->parse($body)->eof->look_down('class', 'link_icon'); say $tag->as_text; |
「第一段階(海外発生期)」とか返ってきます。
[Perl]PerlからExcelのグラフを作る

サンプルグラフ
アクセス解析の専用ソフトなんて高くて買ってもらえないので、Excelでやる夫。
Win32::OLEを使ってVBAをPerlに置き換えていく感じで作っていく。
ちなみにSJISでソース書かないと日本語化けます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | use strict; use warnings; use Win32::OLE; use Win32::OLE::Const 'Microsoft Excel'; use Win32::OLE::NLS qw(:DEFAULT :LANG :SUBLANG); my $excel = Win32::OLE->new('Excel.Application'); $excel->{'Visible'} = 1; my $workbook = $excel->Workbooks->Add(); my $worksheet = $workbook->Worksheets(1); # 列名 $worksheet->Cells(1,1)->{Value} = 'URI'; $worksheet->Cells(1,2)->{Value} = 'PV'; # データをハッシュで作る my %pageview = ( 'index.html' => 100, 'foo.html' => 84, 'bar.html' => 20, 'hoge.html' => 55, 'fuga.html' => 75, ); # 2行目からデータを入れていく my $row = 2; while (my ($uri, $pv) = each %pageview ) { $worksheet->Cells($row,1)->{Value} = $uri; $worksheet->Cells($row,2)->{Value} = $pv; $row++; } # 範囲指定して $worksheet->UsedRange->Select; my $range = $worksheet->Range('B2'); # 降順ソート $excel->Selection->Sort({ Key1 => $range, Order1 => xlDescending, }); # グラフの設定 my $chart = $excel->Charts->Add; $chart->Activate; $chart->{ChartType} = xlBarClustered; $chart->{HasTitle} = 1; $chart->ChartTitle->Font->{Size} = 14; $chart->ChartTitle->{Text} = 'グラフのタイトル'; $chart->{Name} = "シート名"; # 外枠の色 $chart->ChartArea->Interior->{Color} = 0xFFFFFF; # 内側の色 $chart->PlotArea->Interior->{Color} = 0xFFFFFF; # 棒グラフの枠線 $chart->SeriesCollection(1)->Border->{LineStyle} = xlNone; # グラフのラベルを表示する $chart->SeriesCollection(1)->ApplyDataLabels({ ShowValue => 1}); # 横棒のスタイル $chart->Axes(xlValue)->{MajorGridlines}->{Border}->{LineStyle} = xlDot; # 凡例を表示しない $chart->{Legend}->Delete; # X軸を反転(降順で表示されるようにする) $chart->Axes(xlCategory)->{ReversePlotOrder} = 1; # X軸を1つずつ表示 $chart->Axes(xlCategory)->{TickLabelSpacing} = 1; # 保存して終了する場合はコメント外す # $chart->SaveAs('C:/pv.xls'); # $excel->Quit; |
グラフの種類はグラフの種類を設定する(ChartTypeプロパティ)に情報があるので、$chart->{ChartType}に目的にあったグラフを選択するとよいでしょう。
実務ではMySQLからデータ取得してたり、分析資料作るのもかったるいのでWordにグラフ埋め込んだりするのもWin32::OLE経由でやってます。怠惰ですよ怠惰。
[Perl]Google TrendsでPerl
Google TrendsでPerlを調べてみた。
自分の中では去年のYAPC::Asia 2008くらいから盛り上がってきてる印象だったけど、何この右肩下がり。

