my @a = qw(foo bar baz); こんな配列から ?,?,? という文字列を使いたい場合があります。 例えば、 SELECT * FROM hoge WHERE user_id IN (?,?,?); みたいな SQL にする場合のプレースホルダを作ると言った具合に。 社内 IRC で、clouder さんが言い出して、 18:27 <clouder>join(',', map('?', @a)) 18:27 <clouder> こんなのしか思いつかない。。 と言う。 まぁ、それが妥当というか、普通それが思い浮かぶよなーって思ってたら、会社の dos さんという人が 19:15 <dos> '?,' x @a; で s/,$//; というソリューション とか、異様なことを言い出した。 sub placeholder_from_array { return join(',',
![配列から効率良くプレースホルダを作る : にぽたん研究所](https://cdn-ak-scissors.b.st-hatena.com/image/square/da78a05937633f7a2b4b2219826151c370cd607b/height=288;version=1;width=512/https%3A%2F%2Fparts.blog.livedoor.jp%2Fimg%2Fusr%2Fcmn%2Fogp_image%2Flivedoor.png)