内容

目的

七夕に願いをかける時に使用します。

※今のところ、Windowsでは一部の処理がうまく行っていないため、出力結果が違います。
 ↓参照。

使用イメージ

・Linux

$ ./tanabata.pl "定時退社"

・Windows

>perl tanabata.pl "定時退社"

出力イメージ

プロポーショナルフォント

           ,イ二ニ=、
    ,ィ' _ rーー(⌒ヽ⌒ヽ、
  /ソ" ̄ /::::/ \::::\;;;;;`、
/ "     |/   iヽ:::::| \:|
            i \|  !
           | ̄|
           |定|
           |時|
           |退|
           |社|
           |_|  

等幅フォント

          ,イ二ニ=、
  ,ィ' _ rーー( ⌒ ヽ ⌒ ヽ、
 /ソ" ̄ /:::/ \:::\;;;`、
/ "   |/   iヽ::|\::|
          i \|  !
         | ̄|
         |定|
         |時|
         |退|
         |社|
         |_|

ソースイメージ

プロポーショナルフォント

#!/usr/bin/perl
#
sub gyoushuturyoku {
        my $a = 0;
        my $b = 0;
        my $count = 0;
        @moji = split //, $_[0];
        $count = split(//, $_[0]);
        for ($a = 0 ; $a<$count-1; $a++ ) {
                if (($a % 2) ==0){
                        print "           |";

                }
                print $moji[$a];
                if (($a % 2) ==1){
                        print "| \n";
                }
        }
}
open(MOJI,"echo $ARGV[0]|") or next;
while(<MOJI>){
        s/ー/|/g;
        s/〜/|/g;
        s/。/゜/g;
        s/、/ `/g;
        $moji=$_;

}
close(MOJI);
print "           ,イ二ニ=、 \n";
print "    ,ィ' _ rーー(⌒ヽ⌒ヽ、 \n";
print "  /ソ\" ̄ /::::/ \::::\;;;;;`、 \n";
print "/ \"     |/   \iヽ:::::| \:| \n";
print "            \i \|  ! \n";
print "           | ̄| \n";
&gyoushuturyoku("$moji");
print "           |_|  \n";

等幅フォント

#!/usr/bin/perl
#
sub gyoushuturyoku {
        my $a = 0;
        my $b = 0;
        my $count = 0;
        @moji = split //, $_[0];
        $count = split(//, $_[0]);
        for ($a = 0 ; $a<$count-1; $a++ ) {
                if (($a % 2) ==0){
                        print "         |";

                }
                print $moji[$a];
                if (($a % 2) ==1){
                        print "| \n";
                }
        }
}
open(MOJI,"echo $ARGV[0]|") or next;
while(<MOJI>){
        s/ー/|/g;
        s/〜/|/g;
        s/。/゜/g;
        s/、/ `/g;
        $moji=$_;

}
close(MOJI);
print "          ,イ二ニ=、 \n";
print "  ,ィ' _ rーー( ⌒ ヽ ⌒ ヽ、 \n";
print " /ソ\" ̄ /:::/ \:::\;;;`、 \n";
print "/ \"   |/   \iヽ::|\::| \n";
print "          \i \|  ! \n";
print "         | ̄| \n";
&gyoushuturyoku("$moji");
print "         |_| \n";

今のところWindowsでは

        s/ー/|/g;
        s/〜/|/g;
        s/。/゜/g;
        s/、/ `/g;

の処理がうまく行っていません。ここをコメントアウトしないとうまく動かなかったです。。。

./tanabata.pl カレー

          ,イ二ニ=、
  ,ィ' _ rーー( ⌒ ヽ ⌒ ヽ、
 /ソ" ̄ /:::/ \:::\;;;`、
/ "   |/   iヽ::|\::|
          i \|  !
         | ̄|
         |カ|
         |レ|
         |ー|
         |_|

になってしまいます。。
いずれ解析しますので、しばらくご辛抱ください。。
Linuxでは全然大丈夫です。
やっぱり2バイト文字は扱いが難しいですねー。。

参考にしたAAサイト

http://www.aadayo.com/aa/14_09.html





トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-07-03 (木) 02:07:39 (4183d)