진정한 이스케이프 시퀀스를 Perl로 보는 REP

3313 단어 PerlREPLeval

Perl의 Eval을 사용한 Manma REL (REPL)



르 p. pl
#!/usr/bin/perl
#CTL+C と CTL+TERMをハンドリングしてエスケープシーケンスを戻す
local $SIG{INT} = sub { print "\e[m"; exit ;};
local $SIG{TERM} = sub { print "\e[m"; exit ;};
print( "\e[44;37;5m");
while($REP::read=<STDIN>) {
print("\e[47;30m");
 #EVAL関数で評価結果とエラーを拾う
 $REP::eval=eval($REP::read);
 print("\e[m\n(\e[47;31;2m\e[5m$REP::eval\e[m)\n");
 #以下がエラー発生時を拾って表示
 print("\e[47;30m",$@) if ($@) ;
 print("\e[44;37;5m");
}
$SIG{TERM}->();

실제 이스케이프 시퀀스를 사용한 결과의 REP(ReadEvalPrint) 예제





이스케이프 시퀀스는 다음 사이트를 참조하십시오.

좋은 웹페이지 즐겨찾기