WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:perl マッチ演算子について

0:[投稿] まりも [2004/01/19 16:08 ][環境:IE6,WIN2000 UNIX,Apache,CGI,perl ]

$suji = "123/456";
をスラッシュの部分で分割して一つずつ取り出したいのですが、
($mae, $ushiro) = split(m[\/],$suji);
と書いても上手くとれません。
どのように書けばスラッシュで分割して各々を取り出せるのでしょうか。

ご回答よろしくお願い致します。


1:[回答] 薫 [2004/01/19 16:28 ]

>($mae, $ushiro) = split(m[\/],$suji);
何を参考にして書いたのでしょうか?
個人的に興味があります。

「perl split」で検索すると、チュートリアルが見つかります。
こんなところかな。
http://plaza27.mbn.or.jp/~satomii/jdoc/perltut/split.html


2:[回答] AC [2004/01/19 20:59 ]

$suji = "123/456";
($mae, $ushiro) = split(m[\/],$suji);
print "mae='$mae', ushiro='$ushiro'\n";
結果は
mae='123', ushiro='456'
でちゃんと取り出せています。

どこか他に原因があるのではないでしょうか。


3:[回答] AC [2004/01/19 21:03 ]

>>2
ちなみにperl v5.6.0 (Mac OS 10.2.8)での結果です。


4:[回答] はま [2004/01/19 21:55 ]

>>2に同じ。
環境は、perl v5.005_03(FreeBSD4.4)

>>1
m[\/] が見慣れなかったのかな? そんなこと言ってる僕も最初?って思ったけど、>>2 見て思い出した。


5:[回答] 薫 [2004/01/20 09:17 ]

>>4
見慣れないですねぇ。
最近はこれが主流だったりするのか?とか思った次第で、
純粋に個人的に興味があったのです :-)

前のURLを挙げたのは、「どのように書けば」という質問だったので
1つの構文に拘る事もないだろうというのと、
質問者が何かの本を写したとか、誰かのソースから拝借してきたのであれば、
構文自体の理解が深まればいいだろうという老婆心から来たものです。
他意はないですが、攻撃的に見えるようでしたら申し訳ないです。


6:[回答] ふじ [2004/01/20 13:50 ]

>>5
/ がいくつもあると読みづらいので、正規表現中に / が含まれる場合は
意図的に m[] m() のように、正規表現中に含まれない記号で
くくって書くこともあります。

まあ、Perlはわりとどんな書き方でもできるので、スタイルを統一しないと
かえって読みづらくなったりしますけど。


7:[回答] ふじ [2004/01/20 13:53 ]

本題ですが、
>>2
のスクリプトで問題ないです。
環境は Perl 5.005_03, 5.6.0, 5.8.1 (Linux) です。


8:[回答] 通りすがり [2004/01/21 16:18 ]

>>4
見慣れない。
m[] なんて、普通はLTSを避ける為に使うと思うので。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World