Perl

標準モジュール一覧

Perl表技集に標準モジュールの一覧を追加しました。手元の環境にはいろいろインストールしていていろいろなモジュールが使えるようになっているのですが、別の環境で動かすことも考えないと行けない時に何が標準で用意されているのかを知りたくなることがた…

並列ダウンロード

Perl表技集にHTTPでのファイルダウンロードを並列に実行するを追加しました。HTTP::AsyncモジュールとParallel::ForkManagerモジュールを使った例を書いています。

Strawberry Perl

WindowsでもCPANを活用する「Strawberry Perl」によると、Windows環境でもCPANが簡単に使えるらしいです。Windows Vistaでの動作はSP1じゃないと駄目とかあるみたいですが。ActivePerlでPPMでもリポジトリにhttp://theoryx5.uwinnipeg.ca/ppmsを追加しておけ…

1秒未満のsleep

Perl表技集に1秒未満のsleepというのがありselectを使う方法を紹介していましたが、今回、Time::HiResを使う方法の紹介を追加しました。

ランダムな文字列

Perl表技集にランダムな文字列の取得を追加しました。初期パスワードの作成などランダムな文字列が欲しい時に便利。

perldoc関係

Perl表技集にチートシートを見るを追加しました。perldocには何でも書いてあります、と言っても良いぐらいいろいろな情報が書かれています。これも含めてperldoc関係の項目をいくつか書いているのでご紹介。 関数のヘルプを見る モジュールのヘルプを見る モ…

難読化その2

難読化の第2弾です。今回使用するのはAcme::Bleachです。使い方は簡単で、難読化したいソースにuse Acme::Bleach;を追加するだけ。この前と同じプログラムでやってみましょう。 use strict; use Acme::Bleach; while (<>) { 1 while $_ =~ s/(.*\d)(\d{3})/$…

難読化

せっかくなのでPerlの難読化をやってみます。Acme::EyeDropsというモジュールがあってVisual Programming in Perlと言っているのですが、思いっきり難読化ツールです。元になるソースを作ってsample.plとして保存しておきます。 use strict; while (<>) { 1 …

Perlの人気エントリー

d:id:perlcodesampleさんの「サンプルコードによるPerl入門」がはてなブックマークの人気エントリーに入っていました。1月7日からの書き始めで今のエントリーの数はすごいです。実行できるスクリプトのサンプルを書くのは結構大変だと思うのですけどね。近頃…

ハッシュ文字列

Perl表技集にMD5から元の文字列の取得を追加しました。Digest::MD5::Reverseというモジュールを使っているのですが、簡単な単語であればあっさり元の文字列が取得できます。例えば11e0eed8d3696c0a632f822df385ab3cからdatabaseという文字列を取得できます。…

n進数変換

Perl表技集にn進数変換を追加しました。これを使うと倍数になる13進数が比較的簡単に書けるようになります。 use strict; use Math::BaseCalc; my $calc13 = Math::BaseCalc->new(digits => [0..9, 'a'..'c']); for (my $i = 10; ; $i++) { if ($calc13->fro…

再帰でFizzBuzz

Javaで三項演算子/再帰/StaticInitializerを使ったFizzBuzzを試してみたを見て。再帰で書く場合まず以下を思い浮かべるので、ちょっと書き方が変わります。 n-1 まではよろしくやってもらって n の時を頑張る 一つを自分がやって、残りを丸投げ リンク先はJa…

どうせだったらもう一歩

Perlプログラムをコンパクトに記述する方法という記事で、特殊変数を使ってスクリプトをコンパクトに記述する方法が説明されています。気になったのが最後のコードのこれ。 $num = 0; while (<>) { $num = $num + 1; print "$num\t$_"; } 特殊変数を使うとい…

WindowsでPerl

PerlでWindowsアプリケーションを操作してみよう一つの記事にいくつかまとまっているとついでに新しいことまで覚えられて良いですね。Perl表技集でも同じようなサンプルを紹介しているのですがばらばらなので、せっかくなのでWindows関連ネタだけ抜き出して…

メールマガジン紹介

本日発行した「Perlで書く」の中でも書いたのですが、まぐまぐにはPerlのメールマガジンが4つしかないのですね。少なくなったなとは前から思っていましたけどたった4つだけとは。そんな中今日のCPANモジュールがちょっと頑張っているので紹介しておきました…

ソースコードハイライト

CPP(C++)、CSS、HTML、Java、PHP、SQLに対応しました。

ソースコードハイライト

今日発行したPerlで書くではText::Highlightを紹介しました。それに合わせてText::Highlightを使ったPerlのソースコードをハイライト表示するCGIを作って公開。

Perlクイズ終了

結城浩さんが発行していた「Perlクイズ」というメールマガジンが終わってしまいました。自分で回答を送ったりいろいろな方の回答を見るのが楽しみでした。何か他のメールマガジンがないかなと思ってまぐまぐをのぞいてみましたけど、Perlのメールマガジンは…

openは使わずsysopenを使うように

近年Webアプリケーションの脆弱性狙った事件が頻発していることもあって、セキュリティチェックなんていうのがあったりするのですが、「Perlではopenは特別な理由がない限りは使わずsysopenを使うこと」となっていたりします。多分元ネタとしてIPAのセキュア…

Net::Amazonだと簡単

ActivePerl + Net::Amazon モジュールでサンプルプログラムを作ってみました。 use strict; use Net::Amazon; use encoding "cp932"; my $amazon = Net::Amazon->new( token => '自分のSubscription ID', locale => 'jp', ); my $asin = ['4101327181']; my …

Class::DBIとTest::Moreを一緒に使うと異常終了

バージョンは、ActivePerl v5.8.6/Class::DBI 0.95/Test::More 0.47です。全部の処理が終わった後にperlが異常終了してしまいます。原因も対処方法も分からずあきらめました。Test::Simpleでも異常終了するのでTestを使うことに。

Class::DBIで日付型データの登録

登録日時という項目があるのでcreate()したときにシステム日時を設定したかったのですが、やり方が分からなくてはまりました。DBIでやるときは自分でSQLを書くから困らないのですけどね。Class::DBIでも直接SQLを書くことができるのですが、いまいちな感じが…

PerlIS.dllでエラー

ActivePerlのバージョンを5.6.1から5.8.6に上げたところIIS上のPerlIS.dllで動かしていたスクリプトが動かなくなってしまいました。PerlIS-Err.logを確認したところ、 POSIX object version 1.03 does not match bootstrap parameter 1.08 at C:/Perl/lib/XS…

My Favorite Perl Modules

お気に入りのPerlモジュールを登録できるサイトです。私もアカウント登録していくつかモジュールを登録しました。

MVCフレームワーク

そろそろCGI::Applicationでも覚えようかなと思っていたところだったのですが、Catalystなんていうフレームワークがあるのですね。Perl on Rails な Catalyst を試すで紹介されています。テンプレートはTemplate-Toolkitなのですね。私はHTML::Template派な…

IIS+perlis+DB_Fileがうまくいかない

表題の通りなのですが、IISでPerlで作成したCGIをperlis.dllで動かしたときに、DB_Fileを使ったプログラムがうまく動きません。tieした時にエラーになっています。解決できなかったのでperl.exeを使うことにしました。

WideStudio

Perlで書くのネタにしたGUIアプリケーションソフト作成ソフト。

Perl Oasis

Perlで書くのネタにしたオープンソースのPerlコードナビゲータ。