Perl

ハッシュの配列を処理する

$array{'aaa'}[0] のような変数定義については偉大な先人の方々が詳細を公開されておりますが、 私の探し方が悪いのか、 $array[0]{'aaa'} の変数定義について解説されているサイトが少ないため、知識を共有します。 あと、すごく細かい事なんですが、 下の…

そう簡単に重複しないユニークIDを得る

ランダムな数字、現在のマイクロエポック秒、PerlのプロセスIDを元に、そう簡単には重複しないユニークIDを得るPerlScriptです。 ちなみに先頭の"0_"は、2036年問題で万が一エポック秒の巻き戻しが発生した場合の識別子として追加しています。 use Time::HiR…

ActivePerlのGUI版PPMでProxy越えをする

以下の内容を記述したバッチファイルを作成し、ppm.batが置かれているフォルダに入れておくと便利です。 名前はppmrun.batとかで。 ppm.batが置かれているフォルダは、標準では[Perlインストールフォルダ]\bin になります。 set HTTP_PROXY=http://[proxy_se…

ヒヤドキュメント内でサブルーチンを呼び出す

めもめも。 print <

同一ファイルをリストアップするPerlScript

ファイルの整理は重要ですが、どんなに綺麗に分類していたとしても、内容が同一のファイルまでは整理から漏れてしまう事は往々にしてあります。 そんな時に役立つPerlScriptのサンプルです。 使い方を忘れてしまう事がままあったので、かなりヘルプに力が入…

ハッシュ値のチェックを簡単に行うPerlScript

インターネットからダウンロードしたデータは、ダウンロードに失敗して破壊されていたり、何者かの改ざんによって不正に改造されている場合があります。 ダウンロードしたファイルの整合性をチェックする方法の一つとしてハッシュ値による比較がありますが、…

Perlのちょっとした小技たち

めもめも。 ファイルの内容を変数に格納する if(! open(in,"D:/web/t.csv")){ print "file open\n"; } $in = join('',<in>); close(in); print $in; CSVの1列目をソート 昇順(A-Z) @csv = sort { (split(/,/,$a))[0] cmp (split(/,/,$b))[0] } @csv; @csv = reve</in>…

Perlによるファイルの排他制御を考える rename編

Perlでファイルの排他制御を行うにあたり、実運用に耐えるコーディングについて考えます。 今回はrenameを用いた排他制御を考えます。

Perlによるファイルの排他制御を考える flock編

Perlでファイルの排他制御を行うにあたり、実運用に耐えるコーディングについて考えます。 今回はflockを用いた排他制御です。

Perlによるファイルの排他制御

Perlによる排他制御のサンプルです。 うわ、長い・・・と感じるかも知れませんが、ほとんどがコメントです。 alarm関数はウォーターフォール(純粋に上から下へ流れる考え方)にはそぐわないかも知れませんが、難しくありません。 私も食わず嫌いをしていた…

Perlでのlocalとmyの違い

以前にあまり意識せずにコーディングした際、バグの原因となった経験から知識を共有します。 Perlではmyとlocalによって、一般的に言うところのローカル変数を定義する事が可能です。 しかし、この2つの命令、一体何が違うのでしょうか。

PerlにおけるUTF-8フラグと、その周辺の話し

PerlScriptをUTF-8で記述し、use utf8;を付けた場合、Script内で取り扱う文字列の「UTF-8フラグ」がオンになります。 私は個人的に、ここの理解に時間がかかったので知識を共有します。

PerlでのUTF-8 Shift-JIS あれこれ

PerlScriptをUTF-8で記述する場合、読み込み先ファイルがShift-JISの場合の文字化け問題や、そのままだとifの-fオプションが扱えなかったりと、色々と面倒です。 私の場合、ピンポイントに以下のコーディング方法について、調査に時間がかかったので、知識を…

IIS6.0にPerl/Ruby/PHPをインストールする IIS6.0へのPerl動作設定

IIS6.0でPerlを使えるようにします。

IIS6.0にPerl/Ruby/PHPをインストールする 概要

Windows Server 2003で動作するIIS6.0に、Perl/Ruby/PHPを導入し、社内イントラネットサーバの運用を開始してみよう、という内容です。 情報を整理するのに時間を要し、これらの情報をまとめているサイトさんを見つける事ができなかったので(私の調べ方が悪…

Google Notebookに代わるクリッピングツール

Google Notebookが開発終了するという事で、代替のWEBクリッピングツールを探しましたが、私の探し方が悪いのか良い物が見つかりません。 そこで、GMailを利用したデータ管理と、クリッピング方法について考えます。 制約 文字列のみ WEBデザイン(表やCSS等)…

Perl 5.8.8でクリップボードに格納された文字列を得る

WindowsXP Perl 5.8.8 use Win32::Clipboard; my $clip = Win32::Clipboard(); my $text = $clip->GetText(); print $text;

Perl 5.8.8で全角・半角が混在する文字数を表示する

WindowsXP Perl 5.8.8 文字コードをUTF-8としてコーディングしています。 use Encode; print length(decode('sjis',$text));