Home>History>

2006.07-09

2006.09.18

Perl の対話環境

現在、Perl の対話環境を調べています。

Octave のような対話環境を使っていると、なんでもかんでも対話環境でちょっとづつ実行して開発していくのが便利で効率的と感じています。もちろん、UnixScriptTools for mi で Perl の対話環境のサポートを視野に入れています。

僕が見つけられた、Perl の対話環境は以下の3つ。

Perl デバッガ以外(psh, zoid)は、シェルとして使えるように、シェルライクな構文の拡張が行われています。しかし、psh と zoid はデバッガとしての機能(ブレークポイントの設定、ステップ実行など)はなさそうです(間違っていたら、誰か教えてください)。僕はシェルではなく開発環境を求めているので、Perl デバッガを使うのが良さそうです。

Perl デバッガで不自由を感じるのは、複数行を送りつける際に改行コードをエスケープ(行末にバックスラッシュ)をしないといけないということです。mi で複数行が選択されている時に、行末にバックスラッシュをつけることぐらいは容易いのですが、ちゃんとインタプリタが評価できる範囲で選択しないといけないというのはしんどい。

いっぽう、psh や zoid はブロックが閉じないかぎり、コードを評価せず入力を待ってくれます。改行コードをエスケープする必要もないです。

いずれの環境でも、次のような、perl でよく使われるコードが思うように使えないのが玉に傷。

my $val = 'hello';

この一文を実行しても、$val の値は、その環境に残りません。入力した文がすべてブロックとして評価され、ブロックの中での my 変数はブロックを抜けるとなくなってしまうようです。多くの変数をグローバル変数にしないと対話環境として使えないです。つまり、対話環境では、use strict; に文句を言われるコードを実行するはめになります。

どうも、Perl は対話環境として使うにはあまり向いていない言語に思えます。何か間違いや、もっと良いものがあればご指摘いただけると幸いです。

2006.09.16

豊岡淳一(a2ps) さん、寄付ありがとうございました。

これで、17 人目。お気軽にご意見を言っていただければ幸いです。

2006.09.04

CopyMagic 1.3 を公開しました。

フォルダの中に含まれるエイリアスファイルを、そのオリジナルのコピーと入れ替えます。深い階層にあるエイリアスファイルも再帰的に処理します。コピーのバッチ処理を簡単に行うことができます。

2006.09.02

Open in Terminal 1.2.2 を公開しました。

Finder で選択されている場所が working directory になっている ターミナル を開く AppleScript です。

いろいろと賢く動作するように配慮しています。

  • デスクトップ の フォルダを選択している時に正しく動作しない不具合を修正(よしのさん、ありがとうございました)。
  • エイリアスファイルが選択されている場合、そのオリジナルを対象とすることにした(よしのさん、ありがとうございました)。

よしの さん、寄付ありがとうございました。

これで、16 人目。お気軽にご意見を言っていただければ幸いです。

2006.09.01

Takuma Koga さん、寄付ありがとうございました。

これで、15 人目。今後も地道に UnixScriptTools for mi を改良を続けていきます。

2006.08.27

UnixScriptTools for mi 2.0.5 を公開しました。

高機能テキストエディタ mi で Unix スクリプト(bash、Perl、gnuplot、Octave、awk、ruby など)の開発および実行を支援するアプリケーションとスクリプトのセットです。

bash モード、Perl モード、gnuplot モード、Octave モードが付属します。

とにかくすばやく編集中のスクリプトを実行できることができます。

また、gnuplot や Octave のような対話型プロセスと一緒に使うのにも便利です。Emacs の gnuplot モードや Octave モードのように、起動しているプロセスに選択テキストを送ることができます。UnixScriptTools for mi を使えば、Emacs の Octave/gnuplot モードと、だいたい同じ操作感が得られます。もともと、Emacs の Octave モードを愛用しておりましたが、以下のような(自分にとっては)致命的な問題があるのでわざわざ自分で開発環境を作りました。

  • Emacs が異常終了するとそのサブプロセスである Octave も道連れになる。
  • Octave が大きなデータをバッファに表示しようとすると、しばらくの間 Emacs が操作不能になる。
  • 小指が痛くなる。

mi と UnixScriptTools for mi を使えば、上記のような問題は回避できます。もちろん Emacs のような多機能と柔軟性は得られないのですが、それでも、それなりにいいことはありますよ、ということです。

2006.08.17

QuickFileType 3.0.1 を公開しました。

ファイルのクリエータコードとタイプコードを表示/編集するアプリケーションです。

  • Open ボタンを追加
  • 「Favorite creators and types」テーブルをダブルクリックしたときの動作を変更

ところで、どなかたアイコンを作ってくれないでしょうか?

2006.08.15

HTML::SiteTear 1.2.3 を公開しました。

web site の一部分だけを抜き出すPerlスクリプトです。

web site のあるページには、その web site 内のいろいろなところへリンク(ほかのページへのリンクだけではなく、画像やJavaScript、cascading style sheet)が張られていると思います。指定したページを指定された場所にコピーし、さらにその下にフォルダを作り、そのページが一つの独立した web site として成立するための全てのファイルをコピーします。

MOTOIKE さん、寄付ありがとうございました。

ありがとうございます。これで、14 人目。

頂いた寄付は僕が他のプロジェクトに寄付する際に使わせていただきます。

2006.08.08

FilterScripts for mi 2.0.5 を公開

高機能テキストエディタ mi で編集中のテキストを、AppleScript もしくは Unix スクリプト(bash、perl、awk、ruby、sed など)を使ってを加工する専用のインターフェースを提供するアプリケーションです。

2006.08.02

ターミナルを開く 1.0 を公開しました。

エディタ mi で編集中のファイルがあるフォルダを working direcotory としたターミナルを開きます。

mi のツールメニューに登録して使ってください。

2006.08.01

ファイル名を変更 1.0 を公開しました。

エディタ mi で開かれているファイルのファイル名を変更します。ファイル名を変更するために Finder に切り替える手間を省くことができます。

mi のツールメニューに登録して使ってください。

2006.07.31

Tokumaru さん、寄付ありがとうございました。

久々に寄付をしていただけました。これで、13 人目。

2006.07.28

TeX Tools for mi 3.1.3 を公開しました。

高機能テキストエディタ mi を中心とした LaTeX の統合環境を提供するアプリケーションとスクリプトのセットです

  • mi 以外のアプリケーション(ex. Mxdvi)が前面にあるときに、ヘッダーコマンドが正しく動作しなかった不具合を修正
  • ヘッダーコマンド %DviToPdf-Command が壊れていた不具合を修正

2006.07.27

MergePDF 1.7.4 を公開しました。

たくさんの PDF ファイルを一つの PDF ファイルに束ねるためのアプリケーションです。Adobe Acrobat(製品版)が必要です。

PDFファイルを束ねる際に、その順番が問題になると思いますが、フォルダの表示に従ってその順番を決定します。すなわちフォルダ内で PDF ファイルが見えている順番で束ねるので非常に直感的ですし、束ねる順番の変更も簡単です。

Version 1.7.3 はいろいろ壊れていました。どうもすいません。

2006.07.14

UnixScriptTools for mi 2.0.4 を公開しました。

高機能テキストエディタ mi で Unix スクリプト(bash、Perl、gnuplot、Octave、awk、ruby など)の開発および実行を支援するアプリケーションとスクリプトのセットです。

bash モード、Perl モード、gnuplot モード、Octave モードが付属します。

  • #useOwnTerm が設定されているファイルから対話型プロセスにコマンドを送信した後、ファイルを削除するとエラーが起きる不具合を修正。
  • 一度、ターミナルを閉じてしまうと「ターミナルを表示」ツールで新たなターミナルを開くことができない不具合を修正
  • 対話型プロセスは exec を使って起動することにした。

2006.07.13

MergePDF 1.7.3 を公開しました。

たくさんの PDF ファイルを一つの PDF ファイルに束ねるためのアプリケーションです。Adobe Acrobat(製品版)が必要です。

PDFファイルを束ねる際に、その順番が問題になると思いますが、フォルダの表示に従ってその順番を決定します。すなわちフォルダ内で PDF ファイルが見えている順番で束ねるので非常に直感的ですし、束ねる順番の変更も簡単です。

  • 開かれている PDF ファイルを置き換えようとしたときにエラーが起きる不具合を修正