Perl
$array{'aaa'}[0] のような変数定義については偉大な先人の方々が詳細を公開されておりますが、 私の探し方が悪いのか、 $array[0]{'aaa'} の変数定義について解説されているサイトが少ないため、知識を共有します。 あと、すごく細かい事なんですが、 下の…
ランダムな数字、現在のマイクロエポック秒、PerlのプロセスIDを元に、そう簡単には重複しないユニークIDを得るPerlScriptです。 ちなみに先頭の"0_"は、2036年問題で万が一エポック秒の巻き戻しが発生した場合の識別子として追加しています。 use Time::HiR…
以下の内容を記述したバッチファイルを作成し、ppm.batが置かれているフォルダに入れておくと便利です。 名前はppmrun.batとかで。 ppm.batが置かれているフォルダは、標準では[Perlインストールフォルダ]\bin になります。 set HTTP_PROXY=http://[proxy_se…
めもめも。 print <
ファイルの整理は重要ですが、どんなに綺麗に分類していたとしても、内容が同一のファイルまでは整理から漏れてしまう事は往々にしてあります。 そんな時に役立つPerlScriptのサンプルです。 使い方を忘れてしまう事がままあったので、かなりヘルプに力が入…
インターネットからダウンロードしたデータは、ダウンロードに失敗して破壊されていたり、何者かの改ざんによって不正に改造されている場合があります。 ダウンロードしたファイルの整合性をチェックする方法の一つとしてハッシュ値による比較がありますが、…
めもめも。 ファイルの内容を変数に格納する 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でファイルの排他制御を行うにあたり、実運用に耐えるコーディングについて考えます。 今回はflockを用いた排他制御です。
Perlによる排他制御のサンプルです。 うわ、長い・・・と感じるかも知れませんが、ほとんどがコメントです。 alarm関数はウォーターフォール(純粋に上から下へ流れる考え方)にはそぐわないかも知れませんが、難しくありません。 私も食わず嫌いをしていた…
以前にあまり意識せずにコーディングした際、バグの原因となった経験から知識を共有します。 Perlではmyとlocalによって、一般的に言うところのローカル変数を定義する事が可能です。 しかし、この2つの命令、一体何が違うのでしょうか。
PerlScriptをUTF-8で記述し、use utf8;を付けた場合、Script内で取り扱う文字列の「UTF-8フラグ」がオンになります。 私は個人的に、ここの理解に時間がかかったので知識を共有します。
PerlScriptをUTF-8で記述する場合、読み込み先ファイルがShift-JISの場合の文字化け問題や、そのままだとifの-fオプションが扱えなかったりと、色々と面倒です。 私の場合、ピンポイントに以下のコーディング方法について、調査に時間がかかったので、知識を…
IIS6.0でPerlを使えるようにします。
Windows Server 2003で動作するIIS6.0に、Perl/Ruby/PHPを導入し、社内イントラネットサーバの運用を開始してみよう、という内容です。 情報を整理するのに時間を要し、これらの情報をまとめているサイトさんを見つける事ができなかったので(私の調べ方が悪…
Google Notebookが開発終了するという事で、代替のWEBクリッピングツールを探しましたが、私の探し方が悪いのか良い物が見つかりません。 そこで、GMailを利用したデータ管理と、クリッピング方法について考えます。 制約 文字列のみ WEBデザイン(表やCSS等)…
WindowsXP Perl 5.8.8 use Win32::Clipboard; my $clip = Win32::Clipboard(); my $text = $clip->GetText(); print $text;
WindowsXP Perl 5.8.8 文字コードをUTF-8としてコーディングしています。 use Encode; print length(decode('sjis',$text));