アプリ版:「スタンプのみでお礼する」機能のリリースについて

最終的にリストにしたいので、正規表現で""内を取り出した後に
split /( | )/のような処理をすればいいのだと思うのですが、まず第一に""内の文字列を取り出せません。
はじめのxxxxxxxは決まった文字列ですので、これを変数にできれば早いんですがそういう処理はできないですよね?

フォーマットは決まっているのですが、どうやって""内の文字列を取り出せばいいのでしょうか?

@ARGV =~ s/\".*\"$/$1/;
こういう処理ではうまくいきませんでした。
Perlを触るのが初めてなので、ネットで調べていますがさっぱりわからなくて途方に暮れています。
よろしくお願いします。

A 回答 (2件)

ん~, なんで @ARGV に対して =~ するかなぁ?


普通は $ARGV[0] =~ /"(.*)"$/; と $1 にとりだしたりするものですが.
まあ, あたまに '$' つけて eval すれば変数になるけど, これは普通じゃないし.
    • good
    • 0
この回答へのお礼

すみません。
今までこういうのをやったことがない上に、見よう見まねなのでごめんなさい。
そんな悪い事してたんですね。
これで試してみます。

お礼日時:2007/12/19 20:14

どうも最終的にやりたいことがよくわからないのだけど、こういうの?



use strict;
use warnings;

my $str = 'xxxxxxx = "aaa bbb ccc"'; #← この文字列から
my ($tmp) = $str =~ m/"([^"]+)"/;

print "\$tmp = $tmp\n";

my @l = split q{ }, $tmp; #←このリストを得る
print join("\n", @l), "\n";

実行結果:
$tmp = aaa bbb ccc
aaa
bbb
ccc

> はじめのxxxxxxxは決まった文字列ですので、これを変数にできれば
これがよくわからない。
    • good
    • 0
この回答へのお礼

ありがとうございます。
こちらも参考にさせてもらいます。

最後のは
xxxxxxx = "aaa bbb ccc"';
なので
xxxxxxに$をつけたら変数になって
= があるから "aaa bbb ccc"'を
$xxxxxに入れられないかなと思って。
ちょっとバカな考え過ぎでしたか

お礼日時:2007/12/19 21:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!