コンピュータ関連::Programing::Scripting::perl*1[Ent]Ctrl + Zのガイドライン


普通perlを使うなら

[prompt]>perl [filename]

とかでしょうが、ここではちょっと趣向を変えてperlの直後にエンターキー[ent]を押します。

[prompt]>perl
$a=1;
$b=1;
print $a,$b;

上をぱらぱらと打ち込んだ後、Ctrlを押しながら、Zキーを押します。

11
[prompt]>

と計算した結果を表示してカーソルが返ってきたらOKです。
要するに copy con*1 でファイルを作ったりするのの拡張です。
以外に便利です。ちょっとしたコードならいろいろと実験できます。
デバックもできます。

[prompt]>perl -wc[ent]
$a=1;
$b=1;
print $a,$b;
- syntax OK

[prompt]>

ちなみに F3/F7/F8 を押すとコンソールと同じように補完機能もしっかり働くので
結構便利ですね。
先ほどのものに、ちょっと追加してデバックしてみます。

[prompt]>perl -wc[ent]
$a=1;
$b=1;
$c=1;
print $a,$b;
^Z
Name "main::c" used only once: possible typo at - line 3.
- syntax OK

[prompt]>

ちゃんとワーニングも出てきます。
ちなみにシンタックスエラーの場合は毎回エラーメッセージが出てうざいwです。

[prompt]>perl -wc[ent]
$a=1
$b=2
Scalar found where operator expected at - line 2, near "$b"
        (Missing semicolon on previous line?)
$c=1;
Scalar found where operator expected at - line 3, near "$c"
        (Missing semicolon on previous line?)
^Z
syntax error at - line 2, near "$b"
- had compilation errors.

[prompt]>


名前空間(package命令)だってばっちりです。

[prompt]>perl[ent]
$a=100;
package moji;
$a=1;
$b=1;
print $a,$b;
package aji;
$a=11;
package moku;
print $a;
print $moji::a;
print $aji::b;
package main;
#package MAIN; #小文字でmain
print $a;
# この辺参考
# http://www.rwds.net/kuroita/program/Perl_oo.html
^Z
111100
[prompt]>

かなり便利。

*1:conは M$なコンソールデバイス。なんかWinVistaではセキュリティのせいか動かないみたい・・・