sysvbannerでストループテスト

前回に引き続き、ストループテストです。
sysvbannerで作ってみます。

bannerで大きく表示する色と、エスケープシーケンスの色、2つ干渉させたストロープテストです。

takk@deb8:~$ cat -n s.pl
     1  @colors = split /,/,"RED,BLUE,YELLOW,GREEN,CYAN,PURPLE,WHITE";
     
     3  $rand_str = $colors[int rand 7];
     
     printf"\x1b[3%dm",1+int rand 7;
     open(IN,"banner $rand_str |");
     7  @out=<IN>;
     8  print " @out";
     9  print"\x1b[39m";
takk@deb8:~$

もう一つ干渉させる情報を増やしてみましょう。
バナーの中に文字を入れて、実際の色とバナーで作った文字とバナーの中の文字、3つの情報を一度に表示するスクリプトにします。

takk@deb8:~$ cat -n stroop.pl
     1  @colors = split /,/,"RED,BLUE,YELLOW,GREEN,CYAN,PURPLE,WHITE";
     
     3  $rand_str_large = $colors[int rand 7];
     4  $rand_str_small = $colors[int rand 7];
     
     6  @a=split//,$rand_str_small;
     
     printf"\x1b[3%dm",1+int rand 7;
     open(IN,"banner $rand_str_large |");
    10  while(<IN>){
    11      s/#/ch()/ge;
    12      print;
    13  }
    14  print"\x1b[39m";
    15 
    16  sub ch{
    17      push@a,$a[0];return shift @a
    18  }
takk@deb8:~$

コメント

タイトルとURLをコピーしました