#!/usr/local/bin/perl
#
# 文字ターミナル(vt100)を使うもの
# 1文字入力するとすぐ検索実行
#
(\#2と同じ)
while($c = ord($s = getc)){
$len = length($pat);
if($c == &ctrl('J')){ # リターンキー
}
elsif($c == &ctrl('B')){ # カーソル左移動
$patcol-- if $patcol > 0;
}
elsif($c == &ctrl('F')){ # カーソル右移動
$patcol++ if $patcol < $len;
}
elsif($c == &ctrl('A')){ # カーソル左端移動
$patcol = 0;
}
elsif($c == &ctrl('E')){ # カーソル右端移動
$patcol = $len;
}
elsif($c == &ctrl('K')){ # カーソルより右の文字消去
$pat = substr($pat,0,$patcol);
}
elsif($c == 0x7f){ # 後退
$patcol-- if $patcol > 0;
$pat = substr($pat,0,$patcol) . substr($pat,$patcol+1);
}
elsif($c == &ctrl('D')){ # カーソル位置の文字消去
$pat = substr($pat,0,$patcol) . substr($pat,$patcol+1);
}
else {
$pat = substr($pat,0,$patcol) . $s . substr($pat,$patcol);
$patcol++;
}
&lookup($pat);
&clear;
&display;
&move(0,0);
print $pat;
&move($patcol,$patrow);
}