文字列と数値の比較

文字列と数値の比較です。
比較演算子は Perl とは? を参照して下さい。

プログラム-1

  1. Editor を使って shift-jis で hikaku.pl を作成して下さい。
    $str= "abc";
    #$str= "";
    
    if ($str eq '')
    {   print "文字列は空です\n";  }
    if ($str ne '')
    {   print "文字列は[$str]です\n";  }
    
  2. コマンドラインからプログラムを実行します。
    ファイルが保存されているディレクトリに移動して下さい。
    【実行画面】
    C:\DATA\Perl>cd \data\perl
    
    C:\DATA\Perl>perl hikaku.pl
    文字列は[abc]です
    
    C:\DATA\Perl>
    
  3. #$str= "abc"; の行をコメントにして、$str= ""; のコメントを外して実行してみて下さい。
    # 記号から行末まではコメントです。
    【実行画面】
    C:\DATA\Perl>perl hikaku.pl
    文字列は空です
    
    C:\DATA\Perl>
    

プログラム-2

  1. Editor を使って goto.pl を作成して下さい。
    "END\n" の入力でループを終了するプログラムです。
    while(<>) で STDIN からタイプ入力した文字列を $_ に読み込みます。
        while(<>)
        {   if ($_ eq "END\n")  {  goto  NXT  }
            print;
        }
    NXT:
        exit;
    
  2. goto.pl を実行します。
    gogo.pl と打ち間違えた為に、エラーが表示されています。
    【実行画面】
    C:\DATA\Perl>perl gogo.pl
    Can't open perl script "gogo.pl": No such file or directory
    
    C:\DATA\Perl>perl goto.pl
    abcdefg
    abcdefg
    END
    
    C:\DATA\Perl>
    
    大文字で END[Enterキー]とタイプ入力すると終了します。
    goto 文は便利な命令ですが多用は厳禁です。
    exit; は perl のプログラムを終了する命令です。

プログラム-3

  1. コンソールから数値を入力して「正、負、ゼロ」を判定して表示します。
    次のプログラムを sign.pl の名前で作成して下さい。
    while(($_= <>) ne "\n")
    {   chomp $_;
        if ($_ eq 0)    {  print "ゼロです\n";  }
        if ($_ gt 0)    {  print "正の値です\n";  }
        if ($_ lt 0)    {  print "負の値です\n";  }
    }
    
  2. sign.pl のソースプログラムを実行します。
    「正、負、ゼロ」の数値をタイプ入力してみて下さい。
    chomp $_; は入力した文字列の最後尾に格納されている "\n" を削除するコードです。
    "\n" が付加されているとゼロを正しく判定できません。試してみて下さい。
    【実行画面】
    C:\DATA\Perl>perl sign.pl
    0
    ゼロです
    12
    正の値です
    -3
    負の値です
    
  3. このプログラムは elsif と else を使って次のように書いても同じです。
    while(($_= <>) ne "\n")
    {   chomp $_;<br>
        if ($_ eq 0)    {  print "ゼロです\n";    }
        elsif($_ gt 0)  {  print "正の値です\n";  }
        else            {  print "負の値です\n";  }
    }
    

前田稔の超初心者のプログラム入門
超初心者のプログラム入門(Perl)