特定の拡張子"以外"のファイルの一覧
find 使うしかない。 例えば、.gzじゃないファイルをgzip圧縮する場合は以下の通り。
find . -type f ! -name "*.gz" | xargs gzip
トップレベルで定義された my と our
コメントに書いたような挙動となる。
myはパッケージが違うと参照できない。
ourはどこからでも参照できる。(但しパッケージを指定すること)
ちなみに、トップレベルのパッケージ名は"main"か、あるいは空文字。
よって、パッケージからトップレベルのグローバル変数"var"を参照する場合は $main::var とか $::var。
test.pl
#!/usr/bin/perl use strict; use warnings; our $our_hoge = "hoge"; my $my_hoge = "hoge"; sub print_our_hoge() { warn $our_hoge; } sub print_my_hoge() { warn $my_hoge; } &print_our_hoge(); &print_my_hoge(); use test; test::print_our_hoge(); # <- もちろん正常に動作。 test::print_my_hoge(); # <- もちろん正常に動作。
test.pm
package test; use strict; use warnings; sub print_our_hoge() { warn $::our_hoge; } # <- 正常に動作。 sub print_my_hoge() { warn $::my_hoge; } # <- エラー。 1;
あと、あまりやらないだろうが .pl を require で呼び出すときはこんな感じ。
myはファイルが違っても呼び出せない。
なお、ourはファイルが違う場合もパッケージ名付けないと呼び出せない。
test2.pl
#!/usr/bin/perl our $our_hoge = "hoge"; my $my_hoge = "hoge"; require 'test_sub.pl';
test_sub.pl
#!/usr/bin/perl use strict; use warnings; warn $::our_hoge; # <- 正常に動作。 warn $::my_hoge; # <- エラー。 1;
vagrant のVMを外に出れなくしたかったのだが、できなかった…
VM同士やホスト・VM間は自由に通信できるが、VMからインターネットに出られないようにしたかったのだが、やり方がわからなかった…
vagrant で作ったVMは必ずNATが設定されるため、外に出れる?
そのNATに対し、VMにssh接続するためのポートフォワーディングが設定されるようだ(vagrant ssh-config で確認できるポート)。
このssh接続を使って vagrant がVMを構成しているのかな?そうすると、vagrant の仕様上、NATは必須ということか?
であれば、VMとホストの間の仮想ルータとかでFireWall設定できればそこで止めるという手もありそうだが、どういう仕組になっているのかイマイチよく分かっていない…
readline のキーバインドの指定方法 (inputrc の書き方)
Poderosa の設定の意味
操作 > 追加キー定義
追加キー定義はカンマ区切りで複数指定可能。カンマの前後にスペースが入っても問題ないみたい。
Ctrl + d すると Esc + d したのと同じ動作にしたい(単語のカーソル位置より後ろの部分を削除)場合
Ctrl+D=0x1bd
を設定する。0x1b とは Esc の16進数の文字コード。
Ctrl + ← or → で Esc + ← or → の動作(単語単位の移動)をさせたい場合
Ctrl+Right=0x1b[5C, Ctrl+Left=0x1b[5D
/etc/inputrc を見ると
"\e[5C": forward-word "\e[5D": backward-word
などと書かれており、\e が Esc のことで [5C , [5D が →、← のことらしい。
Ctrl + x すると Ctrl + d(1文字削除。Delキーと同じ。)
Ctrl+X=0x04
Ctrl + d はEOTを入力しており、EOTは16進数文字コードで 0x04。
Routrek Networks ASCII制御文字の入力方法
英数字に追加する単語構成文字
ここに記号等を追加すると、それを単語の区切りと見做さない。ダブルクリックで単語を選択する時等に便利。
./-_
というのが世の中的にオススメらしい。