「○○○で始まらない文字列」を探す方法

1
next if index $foo, "hoge";

意味的には、$fooが「hoge」ではじまっていなければ次へ、という感じ。 例えば、hogeで始まるファイルだけをピックアップする場合に、ループの中でhoge以外を取り除くために使う。

他のやり方としては、例えば正規表現を使うと、

1
next if $foo !~ /^hoge/;

とか、もう少し自然に書けば、

1
next unless $foo =~ /^hoge/;

とか。

正規表現を使うと遅くなる、という噂があるので、ループなどではなるべく正規表現を使わないようにしよう、とか思いながらこういうコードを使うわけです。

Comments

comments powered by Disqus