perlで連想配列をまわしてSQL文を作成したいのですが、

一番最後の文字列にもカンマがはいってしまうので
それを削除したいです。
どうしたら宜しいでしょうか?

open(OUT,"> $sql_filename");
#print OUT "Filename is $sql_filename\n";
foreach $ref_array (@$data) { # $ref_arrayには各行データの配列のリファレンスが格納される
print OUT "INSERT INTO aaaa VALUES ( ";
foreach $scalar (@$ref_array) { # @$ref_arrayは行データの配列で、$scalarにはセルデータが格納される
#空の場合は空文字を設定。
if (!defined $scalar){
$scalar = "";
}
#右側部分の余分なスペースを排除します。
$scalar =~ s/[\s ]+//g;
print OUT "'",$scalar, "',";
}
print OUT ")\n";
}
close(OUT);

回答の条件
  • 1人2回まで
  • 登録:2008/12/10 11:25:00
  • 終了:2008/12/10 12:06:16

回答(1件)

id:goodvn No.1

goodvn回答回数228ベストアンサー獲得回数182008/12/10 11:31:28

ポイント60pt

配列に代入しておいて,join ですね

端折りますね

@values = ();
foreach $scalar (@$ref_array) {
  puch(@values, $scalar);
}
$value = join(',', @values);
id:hopefully

出来ましたーー。ありがとうございます。

2008/12/10 12:06:12

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • 要素の結合 緑茶は命の水 2008-12-16 09:58:58
    例えば,A,B,C という 3つの要素を,カンマでくっつけたいと思います 簡単に思いつくのが,ループで次々連結していく,という方法です しかし,この方法には問題があって,要素の個数
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません