真偽値が評価されるとき、「偽」となるとは
の4つで、これ以外は「真」と評価されます。
if( condition ) { ... } elsif( other condition ) { ... } else { ... }if - perldoc.perl.org elsif - perldoc.perl.org
C言語などと異なり、else ifではなくelsifです。これはelseifでもないため、注意が必要です。たとえば「else if」と記述するとsyntax errorとなり、「elseif」では「elseif should be elsif」と指摘されてsyntax errorとなります。
if( $a ) { print 'true'; } else { print 'false'; }
ifの否定形であるunlessを用いると、これは
unless( ! $a ) { print 'true'; } else { print 'false'; }
のように書き換えられます。
Perlではブロックの波かっこは省略できないため、
if( $a ) print 'true';
のような記述は認められません。これはsyntax errorとなります。ただし、このように1行で表現する特別な構文が用意されており、その方法では
print 'true' if( $a )
のように順を入れ替えて記述します。
C言語と同様の構文でfor文を記述できます。
for( my $i = 1; $i < 10; $i++ ) { ... }For Loops - perlsyn - perldoc.perl.org for ループ - perlsyn - Perl の文法 - perldoc.jp
foreach my $value ( @a ) { print "$value\n"; }Foreach Loops - perlsyn - perldoc.perl.org foreach ループ - perlsyn - Perl の文法 - perldoc.jp
$valueを省略して、デフォルト引数の$_で要素を参照することもできます。
foreach( @a ) { print "$_\n"; }
さらにforeachを略して、forと記述することも可能です。
for( @a ) { print "$_\n"; }
例外処理は仕様としては用意されていませんが、evalがその代替となります。
「#」以降がコメントとみなされます。コメント - perlsyn - Perl の文法 - perldoc.jp
# print "Hello";
複数行のコメントはサポートされないため、PODを利用して実現します。
=pod
...
=cut
このときコメントの開始を表すpodは任意の文字を指定でき、podの文字列に意味はありません。より正式には次の書式を使用します。
=begin comment
...
=end comment
=cut
=beginと=endの後には、同一の任意の文字列を指定します。How can I comment out a large block of Perl code? - perldoc.perl.org
日本語ドキュメントのURLは、公式のそれに対して
の関係にあります。