perl

Project Euler #004 - 3桁の整数の積の回文数

問題 左右どちらから読んでも同じ値になる数を回文数という。 2桁の数の積で表される回文数のうち、最大のものは 9009 = 91 × 99 である。 では、3桁の数の積で表される回文数のうち最大のものはいくらになるか。 方針 2桁の数の積とその文字列を反転したも…

Project Euler #003 - 素因数分解

問題 13195 の素因数は 5、7、13、29 である。 600851475143 の素因数のうち最大のものを求めよ。 方針 m/n=q:mをnで除して余が0である場合はその素数は素因数の一つ。 nを最小の素数である2から始めて、剰余が0かつ除算の答えqがn以上である間、nで割り切…

Project Euler #002 - フィボナッチ数列

問題 フィボナッチ数列の項は前の2つの項の和である。 最初の2項を 1, 2 とすれば、最初の10項は以下の通りである。 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 数列の項の値が400万を超えない範囲で、偶数値の項の総和を求めよ。 Note:この問題は最近更新され…

Project Euler #001 - 1000未満の3か5の倍数

問題 10未満の自然数のうち、3 もしくは 5 の倍数になっているものは 3, 5, 6, 9 の4つがあり、 これらの合計は 23 になる。 同じようにして、1,000 未満の 3 か 5 の倍数になっている数字の合計を求めよ。 方針 3の剰余がないもしくは5の剰余がない整数を総…

世界一難しい数独がどれくらい難しいか解かせてみた

本当に解ける人いるの? フィンランド人数学者が作った “世界一難しい数独” が発表される | ロケットニュース24 フィンランド人数学者の Arto Inkala さんが今年も世界一難しい数独を発表していたので、CPANモジュール Games::Sudoku::Solver に解かせてみま…

8月1日はおっぱいの日

8月になりましたね。 8月1日といえばおっぱいの日ですね。 おっぱいといえばAcme::Oppaiですね。 というわけで、遅くなりましたが、 いっぱい'おっぱい'するツールを作りました。 癒されてください。 しばらくしたら消します。 ソースは以下。ご自由にお持ち…

Bundle::CPAN インストールでエラー

Perl version::5.8.8 にてCPAN起動すると、 Terminal does not support AddHistory. cpan shell -- CPAN exploration and modules installation (v1.7602) ReadLine support available (try 'install Bundle::CPAN') とのお告げが出るので、素直に『try』し…

CygwinでCPAN

がいつの間にか使えるようになっていた。 以下、mixiのコミュに投稿してたエントリ(レス無し)をage。 cygwin(のPerl)に付属のCPANでPerlのモジュールをインストールしようとするとmakeの段階で以下のエラーが出てインストールまで終了しません。モジュー…

求む!薄くてちっこいやつ

いいかげんにPerlのリファレンス本を買いなおそうと思い、オライリーのデスクトップリファレンスシリーズが使いやすかったのでPerl5のを探したら絶版になってました。orz...。何故? Perl5 デスクトップリファレンス (Programming tools)posted with amazlet…

アトリビュート

Perlにはこんな機能もあったとですね。YappoLogs: PerlのAttributeについてのお勉強 YappoLogs: PerlのAttributeについてのお勉強 part2 〜Attribute::Handlersで作るプラグイン機構搭載ソフト〜 $> perldoc perlsub $> perldoc attributes ワタクシのPerlの…

ActiveDirectoryのプライマリグループの取得

Net:LDAPでActiveDirectoryアクセスするとプライマリグループがmemberOfに入っていない為取得できない。以下対策の為の調査。 プライマリグループが設定されているAttribute それぞれのユーザーのprimaryGroupID primaryGroupID:513 上記の例:513のIDが格納…

Fizz-Buzz問題

どうしてプログラマに・・・プログラムが書けないのか? 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 こん…

Net::LDAP::start_tls でエラー

ログとってなかったのでエラー内容詳細不明。以下の様なメッセージが出現。 (モジュールほにゃらら) is only avaliable with the XS version at (どこそこで) 同じエラーが発生した人の対処法を発見。 cpan> force install Scalar::Util やあ、助かりました…

ActiveDirectoryをLDAPサーバとして参照

ここではperlのモジュールNet::LDAPを使用したActiveDirectoryをLDAPサーバとして参照する方法を、実際のスクリプトを引用しながら説明します。引用したスクリプトは、ユーザーがどのグループに所属しているか、また、グループを構成するメンバの一覧をWeb上…

リダイレクトとクッキー

CGI.pmを使う use CGI; $FORM = new CGI; クッキーを発行 my $cookie_id = $FORM->cookie(-name=>'login_id', -value=>$FORM->param("login_id")); my $cookie_pw = $FORM->cookie(-name=>'login_pw', -value=>$FORM->param("login_pw")); print $FORM->redi…

ディレクトリを掘る

昔書いたソースを発掘。 my $cur = "./"; # スクリプト実行時のカレントディレクトリ sub printfilelist{ my $dir = $_[0]; if(!opendir(DIR, $dir)){ exit(0); } print("*** OPEN DIRECTORY $dir ***\n"); my @list = readdir(DIR); my $file, $str; foreac…

TCP/IP ポート番号検索

IANAが公開している資料を利用して作成 【使い方】 1) Port no.:ポート番号を入力 2) Description:キーワードを入力 3) Empty port:空きポート検索チェックボックス a) Port no が空白の場合 => 65535 までの空きポートの一覧を表示 b) Port no に任意の…

cronにハマる

さくらで、ユーザーローカルにCPANモジュールをいろいろインストールしています。bashrcで環境変数PERL5LIBを設定してライブラリのパスを指定していました(過去形)。 ライブラリパス:PERL5LIB=$HOME/local/lib/perl5 ってな感じで。ターミナルで実行して…