<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/cneko/">
    <title>cneko @ wiki</title>
    <link>http://w.atwiki.jp/cneko/</link>
    <atom:link href="https://w.atwiki.jp/cneko/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>cneko @ wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2006-12-23T02:53:50+09:00</dc:date>
    <utime>1166810030</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/cneko/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cneko/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cneko/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cneko/pages/10.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cneko/pages/9.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cneko/pages/8.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cneko/pages/7.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cneko/pages/6.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cneko/pages/5.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/cneko/pages/4.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/cneko/pages/13.html">
    <title>for</title>
    <link>https://w.atwiki.jp/cneko/pages/13.html</link>
    <description>
      *for

ある程度、ループする回数等が決まっている場合に便利な制御構文。
[[while]]と違い、親切にも変数の初期化、繰返し、インクリメント(デクリメント)までしてくれるありがたい関数。
さらに、()内の式は、決まっているようで決まっていない。
これはPerlだけかな？

**使い方･用例

1.
 my $i;
 for ( $i = 0; $i &gt;= 10; $i ++ ) { ... }

$i = 0;は、$iという変数を0にする処理をしています。
これは、ループの一番初めに初期化すると言うことです。

$i &gt;= 10;は、$iが10以上になるまで繰返すという意味です。
間違って$i = 10にしちゃったりしたら、もう大変。

$i ++ は、$iという変数の中身に1をプラスして代入するという意味です。
即ち、

2.
 $i = $i + 1;
 $i += 1;
 $i ++;

これは全て同じ意味です。(処理速度に問題は有りますが…。)
この場合、最後にセミコロン(;)はつけません。
つけるとエラーになります。

そして、もちろんfor文でも無限ループが出来ます。
無限ループの用例を少し…。

 for (;;) { ... }//明らかに意図的にしてますよね。
 for ($i = 0; $i = 10; $i ++) { ... }
 for ($i = 0; $i &gt;= 10; $i ++) { $i = 0 }
 for ($i = 0; $i &lt;= 10; $i --) { ... }

これらは全て無限ループを引き起こします。
可能性はこの四つだけではありません。
やり方次第でいくらでも無限ループは生まれます。
是非気をつけてください…。



**良く似た関数
[[foreach]], [[until]], [[while]]    </description>
    <dc:date>2006-12-23T02:53:50+09:00</dc:date>
    <utime>1166810030</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cneko/pages/12.html">
    <title>else</title>
    <link>https://w.atwiki.jp/cneko/pages/12.html</link>
    <description>
      *else

[[if]]文において、[[elsif]]や[[if]]文による条件にどれも当てはまらない場合の処理をさせる節。
特に条件は無く、[[if]]-[[else]]節の場合は、[[if]]とは反対の結果、つまり偽となったときの処理をさせることが出来る。
// コレ、elseを沢山つなげてエラー出したことが過去にあります(^^;


**使い方･用例
[[elsif]]を参照。


**良く似た関数
[[if]], [[elsif]], [[unless]]    </description>
    <dc:date>2006-12-23T02:40:01+09:00</dc:date>
    <utime>1166809201</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cneko/pages/11.html">
    <title>elsif</title>
    <link>https://w.atwiki.jp/cneko/pages/11.html</link>
    <description>
      **elsif

恐らく、Perl独自の関数。
大概他のプログラミング言語では、[[else]] ifとなっているが、Perlは[[elsif]]となっている。
[[else]]節のほかに、この[[elsif]]節を、[[if]]文では使うことが出来る。

**使い方･用例

1.
 my $age = 15;
    if ( $age &gt;= 30 ) { [[print]] &quot;30歳以上。&quot; }
 elsif ( $age &gt;= 15 ) { print &quot;15歳以上。&quot; }
 elsif ( $age &gt;= 10 ) { print &quot;10歳以上。&quot; }
                     ・
                        ・
                        ・
 else                 { print &quot;貴方は何歳？&quot; }

と続けることが出来る。
これは、[[unless]]の場合も[[elsif]]を使う。

2.
 my $age = 15;
 unless ( $age &lt;= 30 ) { print &quot;30歳以上。&quot; }
 elsif  ( $age &lt;= 15 ) { print &quot;15歳以上。&quot; }
                      ・
                         ・
                         ・
 else                  { print &quot;貴方は何歳？&quot; }

と、こんな具合に。


**良く似た関数
[[if]], [[else]], [[unless]]    </description>
    <dc:date>2006-12-23T02:36:14+09:00</dc:date>
    <utime>1166808974</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cneko/pages/10.html">
    <title>unless</title>
    <link>https://w.atwiki.jp/cneko/pages/10.html</link>
    <description>
      *unless

[[if]]文の反対。
つまり、()の中の条件式が偽のときに処理を行う関数。
ただ、[[if]]文と[[unless]]文をごちゃ混ぜにして使うのは推奨しない。
可読性の為にも、どちらか一方に統一するように心がける。
というわけで、[[unless]]文はあまり活躍の場が見受けられない。

**使い方･用例

1.
 my $age = 15;
 unless ( $age &lt;= 30 ) { ... }
この場合、$ageが30以上の場合に処理を行うが、[[if]]文を使って

2.
 if ( $age &gt;= 30 ) { ... }

でも、

3.
 if ( !( $age &lt;= 30 ) ) { ... }

でも可能。



**良く似た関数
[[if]], [[elsif]], [[else]]    </description>
    <dc:date>2006-12-23T02:28:45+09:00</dc:date>
    <utime>1166808525</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cneko/pages/9.html">
    <title>while</title>
    <link>https://w.atwiki.jp/cneko/pages/9.html</link>
    <description>
      **while

どれほどループするかわからないが、とりあえず終わりまでorとある条件に達するまで繰返し処理を行いたいなぁと思ったときに利用できる関数。
無限ループの要因で、これが多い。
// よくへまやって強制終了を何度やったことか…。
**使い方･用例

1.
 my $i = 0;
 while( $i &gt;= 100 ) {
         [[print]] $i;
         $i ++;
 }
この場合、$i ++;という処理を抜かすと、めでたく無限ループになる。
無限ループを実現させるなら、

2.
 while( 1 ) { ... }

っと、簡単に出来る。


**良く似た関数
[[for]], [[foreach]], [[until]]    </description>
    <dc:date>2006-12-23T02:42:43+09:00</dc:date>
    <utime>1166809363</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cneko/pages/8.html">
    <title>do</title>
    <link>https://w.atwiki.jp/cneko/pages/8.html</link>
    <description>
      *do

[[while]]文等で必ず一回は処理をしたい場合に有効。
他にも使い方があるらしいけど、ブロックで書く方法しか知らない。




**良く似た関数
無し。    </description>
    <dc:date>2006-12-23T02:17:12+09:00</dc:date>
    <utime>1166807832</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cneko/pages/7.html">
    <title>if</title>
    <link>https://w.atwiki.jp/cneko/pages/7.html</link>
    <description>
      *if

条件分岐をさせることが出来る。
()内の条件が真のときに、{}ブロック内の処理を行う。


**使い方･用法
1.
 my $age = 15;
 if ( $age &gt;= 30 ) {
         [[print]] &quot;３０歳以上です。&quot;;
 }

普通に書いた場合。

2.
 my $age = 15;
 if ( $age &gt;= 30 ) { print &quot;30歳以上です。&quot; }

一つの処理しか行わない場合は、{}ブロック内のセミコロンを省略できます。

3.
 my $age = 15;
 do { print &quot;３０歳以上です。&quot; } if $age &gt;= 30;

[[do]]文を使えば、ブロックと式を反対に書くことが出来ます。
この場合は、

4.
 print &quot;３０歳以上です。&quot; if $age &gt;= 30;

このように、[[do]]とブロックを省略できます。



**良く似た関数
[[unless]], [[elsif]], [[else]]    </description>
    <dc:date>2006-12-23T02:14:57+09:00</dc:date>
    <utime>1166807697</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cneko/pages/6.html">
    <title>sprintf</title>
    <link>https://w.atwiki.jp/cneko/pages/6.html</link>
    <description>
      *sprintf

文字をフォーマットされた形に形成する。
この関数は、[[printf]]の携帯版みたいなもの。
気軽に…とまでは行かないが、使い勝手が[[printf]]よりも向上したもの。


**使い方･用例

1.
 my $string = sprintf( &quot;%x&quot;, 256 );



良く似た関数
[[print]], [[printf]]    </description>
    <dc:date>2006-12-23T02:06:37+09:00</dc:date>
    <utime>1166807197</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cneko/pages/5.html">
    <title>printf</title>
    <link>https://w.atwiki.jp/cneko/pages/5.html</link>
    <description>
      *printf

フォーマットされた文字を出力する。
[[print]]同様文字を出力するが、[[print]]と違うのは、ある程度の雛形を設定できる。

**使い方･用例

1.
 my $num = 100;
 printf( &quot;%3d&quot;, $num );

2.
 my $num = 100;
 printf( &quot;変数\$numの中身は、%dです。&quot;, $num );




**良く似た関数
[[print]], [[sprintf]]    </description>
    <dc:date>2006-12-23T02:07:26+09:00</dc:date>
    <utime>1166807246</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/cneko/pages/4.html">
    <title>print</title>
    <link>https://w.atwiki.jp/cneko/pages/4.html</link>
    <description>
      *print

文字を出力する関数。
実は、print STDIN &quot;&quot;;の略だったりする。




**使い方･用例

1.
 print &quot;Hello, World!&quot;;

2.
 print qq|Hello, World!|;

因みに管理人は、2の方を多用。




**良く似た関数
[[printf]], [[sprintf]]    </description>
    <dc:date>2006-12-23T02:06:57+09:00</dc:date>
    <utime>1166807217</utime>
  </item>
  </rdf:RDF>
