Macintosh 터미널 세션에서 실행중인 PERL 프로그램에 대해 콘솔의 INPUT 텍스트에 한 가지 색상을 지정하는 방법은 무엇입니까?

user3333975

어떻게해야하는지 잘 모르겠지만 실행할 때마다 두 개의 데이터 포인트를 입력해야하고 콘솔에서 찾기 어려운 프로그램 (squinting 등)을 사용했습니다. INPUT을 색상 화하는 방법이 있습니까? 그래서 프로그램을 반복적으로 반복하는 동안 (이 튜플을 넣는 등) 마지막 프로그램 실행에서 내가 어디에 있는지 추적 할 수 있습니다. 저는 라임 그린의 반전 된 색상이 어떤 색상 이길 원합니다. 지금은 "색상 반전"모드에 있습니다.


내가 달성하고 싶은 것은 입력을 입력 할 때 색상 화하는 색상 화입니다. 아시다시피 입력 스트림 색상 화 등입니다.


print "Enter where you'd like me to begin: ";
my $begin = <STDIN>;
chomp $begin;
exit 0 if ($begin eq "");
print "\n";
print "Enter where you'd like me to end: ";
my $end = <STDIN>;
chomp $end;
exit 0 if ($end eq "");
print "\n";
hmatt1

Perl 프로그램 STDIN은 사용자가 입력 하는 대로 에코합니다 . 입력 한 내용 만 색상 화하고 싶으므로 캡처 한 다음 색상으로 인쇄해야합니다. 이를 수행하는 방법을 보여주기 위해 프로그램을 수정했습니다.

#!/bin/perl
use strict;
use warnings;
use Term::ANSIColor;
use Term::ReadKey;

ReadMode('noecho'); # don't echo

print "Enter where you want me to begin: ";
my $begin = <STDIN>;
chomp $begin;
exit 0 if ($begin eq "");
print colored("$begin\n", 'red');
print "Enter where you'd like me to end: ";
my $end = <STDIN>;
chomp $end;
exit 0 if ($end eq "");
print colored("$end\n", 'red');

ReadMode(0);        # back to normal

출력 예 :

시작
위치 입력 : 1 종료 할 위치 입력 : 2

(1과 2는 빨간색입니다)

빨간색은 녹색의 역수이므로 콘솔에서 역 색상 모드로 실행 중이기 때문에 선택했습니다. 원하는대로 라임 그린에 충분히 가깝지 않은 경우 bright_red를 시도해 볼 수도 있습니다.

다음은 Term :: ANSIColorTerm :: ReadKey에 대한 문서입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관