Perl

Spreadsheet::WriteExcel.pm

Spreadsheet-WriteExcelモジュールを使ってみた。 調べたところ、以前はUTF-16に変換しないと書き込めなかったようだが、最近のバージョンはUTF-8をそのまま書き込みできるようで何より。 問題は、式を書き込む時だ。そのまま書き込めればいいのに、いちいち…

Spreadsheet::WriteExcel.pm

Spreadsheet-WriteExcelモジュールを使ってみた。 調べたところ、以前はUTF-16に変換しないと書き込めなかったようだが、最近のバージョンはUTF-8をそのまま書き込みできるようで何より。 問題は、式を書き込む時だ。そのまま書き込めればいいのに、いちいち…

Spreadsheet::WriteExcel.pm

Spreadsheet-WriteExcelモジュールを使ってみた。 調べたところ、以前はUTF-16に変換しないと書き込めなかったようだが、最近のバージョンはUTF-8をそのまま書き込みできるようで何より。 問題は、式を書き込む時だ。そのまま書き込めればいいのに、いちいち…

pdfを編集する。

状況 自炊業者に出した本が、pdfになって戻ってきた時に、ページの順番が変わっていることがある。 本のお約束として、表紙を開いてタイトルが載っているページが1ページになる。それより前にある折込だの表紙だのはページ数に数えられない。 このタイトルペ…

pdfを編集する。

状況 自炊業者に出した本が、pdfになって戻ってきた時に、ページの順番が変わっていることがある。 本のお約束として、表紙を開いてタイトルが載っているページが1ページになる。それより前にある折込だの表紙だのはページ数に数えられない。 このタイトルペ…

pdfを編集する。

状況 自炊業者に出した本が、pdfになって戻ってきた時に、ページの順番が変わっていることがある。 本のお約束として、表紙を開いてタイトルが載っているページが1ページになる。それより前にある折込だの表紙だのはページ数に数えられない。 このタイトルペ…

動的計画法の練習

天才火消しエンジニア霧島「もしPMおじさんが丸投げを覚えたら」 | paizaオンラインハッカソン(POH)(https://paiza.jp/poh/kirishima )に挑戦してみた。言語はPerlで。 ぱっと考えてやったので、効率は度外視。 「計算があわねーなー」と思っていたら、…

動的計画法の練習

天才火消しエンジニア霧島「もしPMおじさんが丸投げを覚えたら」 | paizaオンラインハッカソン(POH)(https://paiza.jp/poh/kirishima )に挑戦してみた。言語はPerlで。 ぱっと考えてやったので、効率は度外視。 「計算があわねーなー」と思っていたら、…

動的計画法の練習

天才火消しエンジニア霧島「もしPMおじさんが丸投げを覚えたら」 | paizaオンラインハッカソン(POH)(https://paiza.jp/poh/kirishima )に挑戦してみた。言語はPerlで。 ぱっと考えてやったので、効率は度外視。 「計算があわねーなー」と思っていたら、…

jpgを繋げてpdfを作ってみる。

やってみた。 use strict; use warnings; use PDF::API2; opendir ( DIR, '.' ); my @page = sort grep { /\.jpg$/ } readdir ( DIR ); closedir ( DIR ); my $pdf = PDF::API2->new(-twocolumnright=>1); $pdf->mediabox("B5"); # 501x709 foreach my $jpg …

jpgを繋げてpdfを作ってみる。2

jpgを繋げてpdfを作ってみる。 - 永字八法の続き。 これを実行したディレクトリにあるzipの中のjpgを全部pdfにする。 use strict; use warnings; use Archive::Zip; use PDF::API2; opendir ( DIR, '.' ); my @zip = sort grep { /\.zip$/i } readdir ( DIR …

jpgを繋げてpdfを作ってみる。

やってみた。 use strict; use warnings; use PDF::API2; opendir ( DIR, '.' ); my @page = sort grep { /\.jpg$/ } readdir ( DIR ); closedir ( DIR ); my $pdf = PDF::API2->new(-twocolumnright=>1); $pdf->mediabox("B5"); # 501x709 foreach my $jpg …

jpgを繋げてpdfを作ってみる。2

jpgを繋げてpdfを作ってみる。 - 永字八法の続き。 これを実行したディレクトリにあるzipの中のjpgを全部pdfにする。 use strict; use warnings; use Archive::Zip; use PDF::API2; opendir ( DIR, '.' ); my @zip = sort grep { /\.zip$/i } readdir ( DIR …

jpgを繋げてpdfを作ってみる。2

jpgを繋げてpdfを作ってみる。 - 永字八法の続き。 これを実行したディレクトリにあるzipの中のjpgを全部pdfにする。 use strict; use warnings; use Archive::Zip; use PDF::API2; opendir ( DIR, '.' ); my @zip = sort grep { /\.zip$/i } readdir ( DIR …

jpgを繋げてpdfを作ってみる。

やってみた。 use strict; use warnings; use PDF::API2; opendir ( DIR, '.' ); my @page = sort grep { /\.jpg$/ } readdir ( DIR ); closedir ( DIR ); my $pdf = PDF::API2->new(-twocolumnright=>1); $pdf->mediabox("B5"); # 501x709 foreach my $jpg …

pdfに任意のサイズのブランクページを挿入する。

pdfにブランクページを挿入する。 - 永字八法の続き。 結局、PDF::API2のCPANページを見る。それが一番早かった。 my $page = $pdf->page(1); # 新規のブランクページオブジェクトを挿入しつつ、そのページオブジェクトを得る。 $page->mediabox('A6'); # ペ…

pdfに任意のサイズのブランクページを挿入する。

pdfにブランクページを挿入する。 - 永字八法の続き。 結局、PDF::API2のCPANページを見る。それが一番早かった。 my $page = $pdf->page(1); # 新規のブランクページオブジェクトを挿入しつつ、そのページオブジェクトを得る。 $page->mediabox('A6'); # ペ…

pdfに任意のサイズのブランクページを挿入する。

pdfにブランクページを挿入する。 - 永字八法の続き。 結局、PDF::API2のCPANページを見る。それが一番早かった。 my $page = $pdf->page(1); # 新規のブランクページオブジェクトを挿入しつつ、そのページオブジェクトを得る。 $page->mediabox('A6'); # ペ…

pdfにブランクページを挿入する。

その1の結果 - 永字八法を踏まえて。 できたpdfを一旦コピーし、コピーの方を相手に色々実験しながらやっていく。 Perlでの既存pdf操作は、PDF::API2モジュールが良さそうなので使ってみる。 インストール PDF::API2はppmに入っているのでWindowsでも簡単便…

pdfにブランクページを挿入する。

その1の結果 - 永字八法を踏まえて。 できたpdfを一旦コピーし、コピーの方を相手に色々実験しながらやっていく。 Perlでの既存pdf操作は、PDF::API2モジュールが良さそうなので使ってみる。 インストール PDF::API2はppmに入っているのでWindowsでも簡単便…

pdfにブランクページを挿入する。

その1の結果 - 永字八法を踏まえて。 できたpdfを一旦コピーし、コピーの方を相手に色々実験しながらやっていく。 Perlでの既存pdf操作は、PDF::API2モジュールが良さそうなので使ってみる。 インストール PDF::API2はppmに入っているのでWindowsでも簡単便…

URLにISBNとページ数を指定するとそれが読める話

こういう話がありまして。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.c…

URLにISBNとページ数を指定するとそれが読める話

こういう話がありまして。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.c…

URLにISBNとページ数を指定するとそれが読める話

こういう話がありまして。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.c…

EANバーコードの作り方

GD::Barcode::EAN13から、リバース・エンジニアリングしてJAN13バーコードの作成方法を調べた。 なお、ここではコードの妥当性は考えない。先頭から12桁を計算して、チェックデジットである13桁目の数字を決める訳だが、その計算式は別に譲る。 バーコードの…

EANバーコードの作り方

GD::Barcode::EAN13から、リバース・エンジニアリングしてJAN13バーコードの作成方法を調べた。 なお、ここではコードの妥当性は考えない。先頭から12桁を計算して、チェックデジットである13桁目の数字を決める訳だが、その計算式は別に譲る。 バーコードの…

EANバーコードの作り方

GD::Barcode::EAN13から、リバース・エンジニアリングしてJAN13バーコードの作成方法を調べた。 なお、ここではコードの妥当性は考えない。先頭から12桁を計算して、チェックデジットである13桁目の数字を決める訳だが、その計算式は別に譲る。 バーコードの…

竹内関数/たらい関数

sub tarai { my ( x, y, z ) = @_; x > y or return y; return &tarai( &tarai(x-1, y, z), &tarai(y-1, z, x), &tarai(z-1, x, y) ) }

竹内関数/たらい関数

sub tarai { my ( x, y, z ) = @_; x > y or return y; return &tarai( &tarai(x-1, y, z), &tarai(y-1, z, x), &tarai(z-1, x, y) ) }

竹内関数/たらい関数

sub tarai { my ( x, y, z ) = @_; x > y or return y; return &tarai( &tarai(x-1, y, z), &tarai(y-1, z, x), &tarai(z-1, x, y) ) }