Perl5.10からは、とても便利なDefined-or演算子「//」が導入されました。スラッシュが二つ続く演算子です。とっても検索しにくいので、早めに覚えておくのがいいと思います。近年の機能追加では、僕的には一番お勧めの機能ですね。 # Defined-or演算子 // Defined-or演算子は、左辺が定義されている場合は、左辺値を返却し、未定義の場合は右辺値を返すという動作をします。 # 右辺が代入される my $value = undef // 'default'; # 'default' # 左辺が代入される my $value = 0 // 'default'; # 0 my $value = '' // 'default'; # '' my $value = 'foo' // 'default'; # 'foo' これは、値が与えられなかった場合のデフォルト値を定義するのに
[B]フォーマットのカスタマイズ フォーマットを自由にカスタマイズしたい場合はstrftimeメソッドを使用します。$formatには時刻の表現を指定します。 $t->strftime($format) 日付と時刻をフォーマット化したサンプルです。 $t->strftime('%Y-%m-%d %H:%M:%S'); # 2009-11-34 12:14:15 strftimeで使用できるフォーマットの一覧です。 %a : 曜日の省略名 %A : 曜日名 %b : 月の省略名 %B : 月名 %c : デフォルトのフォーマット %C : 年の最初の2桁 %d : 日( 01 から 31 ) %D : %m/%d/%y と同じ。月日年 %e : 日( 1 から 31 ) %F : %Y-%m-%d と同じ( 2008-11-31 など ) %G : 年4桁。ISO 8608形式の年週が前年・
Perlの正規表現の解説です。この記事を読めば、日常で利用する正規表現のすべてを短時間でマスターすることができます。正規表現を使えば、文字列の集合を表現することができ、正規表現にマッチする文字列を検索したり、置換したりすることができます。 正規表現を使って文字列の集合を表現できます。たとえば「a」「aa」「aaa」という三つの文字列を正規表現で表現してみましょう。連続する文字の個数を表現する正規表現「{}」を使って次のように書くことができます。 a{1,3} 「a」「aa」「aaa」という文字列の集合をひとつの正規表現「a{1,3}」で表しています。{}は量指定子と呼ばれるもので、連続した文字を表現することができます。 a aa -> a{1,3} aaa 正規表現の例をもう一つみてみましょう。「p1」「q1」「r1」という文字列の集合をひとつの正規表現「[pqr]1」で表すことができます
ファイルを一行づつ読み込むには行入力演算子「<>」を使用します。読み込む行がなくなると、undefを返却します。 my $line = <$fh>; 他の演算子と異なり「<」と「>」の間にファイルハンドルを記述することに注意してください。 通常は、while文と組み合わせて、繰り返して行を読み込むのに利用します。 while(my $line = <$fh>) { # ... } 考え深い方は、上記のように書いた場合は、もし「0」などの偽の値が返ってきた場合は、正しく動かないんじゃないかと感じるのではないでしょうか。行の途中は、改行コードが入りますから、「0」が返ることはありませんが、末尾の場合は「0」が返ってくる可能性があります。 でも、心配しないでください。ファイル演算子は、whileと組み合わされて使う場合のみ、次のように解釈されるからです。 while(defined(my $li
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く