> 2000/11/03 (金) 16:43:49 ◆ ▼ ◇ [mirai]> > 再び『初めてのPerl』から引用。
> > 多数のスラッシュを含むようなパターンでは、\を挿入する手間もバカになりません。
> > そこでPerlではスラッシュ以外の文字もデリミタとして使うことが
> > 出来るようになっています。それにはmの直後にアルファベット以外の任意の
> > 文字を置き、その次にパターンを書いて、最後に同じデリミタをもう一つ置くだけです。
> > たとえば次のようにします。
> > /^\/usr\/etc/ # 標準ではスラッシュがデリミタになる
> > m@^/usr/etc/ # '@'をデリミタにする
> > m#^/usr/etc/ # '#'をデリミタにする
> > あえてやりたいのなら、スラッシュを使ってm/abc/と書くことも可能です。
> > 実は普通のマッチ演算子の正体はm演算子で、デリミタにスラッシュを使うときに限って
> > mを省略できるのです。
> >
> > わかったかい?童貞ボーイ。
> > 最後のforeachからは、俺ならこう書くってだけで・・・説明いる?
> これはつまり
> @value = split(/\//,$line);
> は
> @DATA= split(m#^#/#,$line#);
> と表現することも可能という事だろうか
> エラーになったんだが
> 違ってるかな
> 最後のは難しいのでパス
そうは書けない。
つか俺が転載ミスった(;´Д`)
訂正ついでにわかりやすくしてみる
/usr/etcでマッチさせようとしてて、下の3つは等価。
/\/usr\/etc/
m@/usr/etc@
m#/usr/etc#
つか混乱させちゃいそうだから
@value = split(/\//,$line);
これ使ってください(;´Д`)スマンコ
参考:2000/11/03(金)16時29分47秒