• ベストアンサー

大文字と小文字を区別しない検索にする方法

勉強する間もなく手探りでフリーCGIの改造をさせて頂いています。 if ゃ foreach などは分かりやすいですが、変数の意味が良く理解できていません。 どうぞお力添えをお願い致します。 現在、フリーのCGIでデータ登録と検索をしていますが、大文字と小文字の 区別を無くしたものにするにはどうすればよいでしょうか? 1) AbcDe も abcde も同じにしたい。 2) 可能なら全角と半角も区別無しにしたい。   ただ、2の方は漢字も使うので難しいでしようか? iオプションを使えとの記述を見ましたが、どこを変えるのか解りません。 ソースを載せますので、ご指導宜しくお願い致します。 # 入力内容を整理 $in{'word'} =~ s/\x81\x40/ /g; @wd = split(/\s+/, $in{'word'}); @find=(); $i=0; # 検索処理 foreach (@line) { $flag = 0; foreach $wd (@wd) { if (index($_,$wd) >= 0) { $flag = 1; if ($in{'cond'} eq 'OR') { last; } } else { $andor="and 検索"; if ($in{'cond'} eq 'AND') { $flag=0; last; } $andor="or 検索"; } } # ヒットした場合 $view = $in{'viewc'}; if ( $view eq '' ) { $view = $views } if ($flag) { $i++; next if ($i < $page + 1); next if ($i > $page + $view); push(@find,$_); } } # 検索終了

  • CGI
  • 回答数4
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • kumoz
  • ベストアンサー率64% (120/185)
回答No.4

ShiftJIS コードの場合、漢字コードの2バイト目に正規表現の区切り文字やメタ文字と同じ コードがあるためうまくいかないことがあります。英単語のみ正規表現を使って、それ以外は index を使えばうまくいくかもしれません。 > if (index($_, $wd) >= 0) { 上の行を次のように変更してみてください。なお、英単語に can't や Dr. などがある場合は、 /^\w+$/ を /^[\w.']+$/ などに変更する必要があります。 if ($wd =~ /^\w+$/ ? $_ =~ /$wd/i : index($_, $wd) >= 0) {

asdfg456
質問者

お礼

先程、時間が空いたので試してみました。 とても上手く行きました。 非常に使いやすくなりました。 本当にありがとうございました。 if ($wd =~ /^\w+$/ ? $_ =~ /$wd/i : index($_, $wd) >= 0) { を自分でサクサク書けるように、時間を作って勉強したいと思います。

asdfg456
質問者

補足

レスありがとうございます。 早く試したくてワクワクしているのですが、今日は時間が取れそうに 無いので、明日以降に試させて頂きたいと思います。 ぜひ、英単語に can't や Dr. などがある方で試したいと思ってます^^ また結果報告させていただきます。

その他の回答 (3)

  • LOHA
  • ベストアンサー率52% (203/388)
回答No.3

index($_, $wd) >= 0 の部分を $_ =~ /$wd/i とすればどうでしょ。 間違ってたらすみません。

asdfg456
質問者

お礼

検索用語でNGな時とOKな時を比較すると「ー」の含まれた場合に 上手く行かないようです。 「スタート」とか、「パレード」の「ー」です。 何か対処方法がございましたらご教示お願い致します。 それと不思議なのですが、何故 $_ =~ /$wd/i を index($_, $wd) >= 0 のように記述されていたのでしょうか? 簡単に略していたなら分かるのですが、文字数増えてますよね? どんな意図があるのでしょう…

asdfg456
質問者

補足

レスありがとうございます。 index($_, $wd) >= 0 の部分を $_ =~ /$wd/i に変えると、英小文字の大文字と小文字の区別はなくなりました。 ただ、副作用でしょうか…全角文字を混ぜた検索をすると、上手く動作しない場合が多いです。 まだ上手く行かないときのパターンがよく分からないので、調べてみます。

  • tom233
  • ベストアンサー率17% (61/352)
回答No.2

>iオプションを使えとの記述を見ましたが、どこを変えるのか解りません。 これは正規表現の場合です。 #1さんの人の言うように検索処理を正規表現にすれば使えます。

asdfg456
質問者

補足

レスありがとうございます。 正規表現にしようと記述してみましたが、CGIが動かなくなってしまいました。 具体的に記述を教えて頂けると助かります。 自分の知識不足で、お手数をお掛け致しますが何卒宜しくお願い致します。

  • LOHA
  • ベストアンサー率52% (203/388)
回答No.1

えーとPerlですね。Perlは読むだけでもうぎゃーですのでとりあえず参考になりそうなサイト見つけたので見てみてください。 Perlメモ:http://www.din.or.jp/~ohzaki/perl.htm ここに全角を半角にする方法などが乗ってます。ただし、jcode.pl使ったりなので、そのままでは環境によっては無理かも。 iオプションを使えというのは正規表現のiオプションを使えという意味です。 正規表現についてはこちらを参照。 正規表現 [Perl講座 -Smart]:http://www.rfs.jp/sb/perl/02/09.html えーっと比較してるところは、、、index($_, $wd) >= 0っぽいのでここをオプションiの正規表現に変えたらどうでしょう。

asdfg456
質問者

補足

レスありがとうございます。 教えていただいたページ読ませていただきましたが、知識不足も甚だしく 記述形式が分かりませんでした。 まずは大文字と小文字の区別をせずに検索するようにしたく思いまして、 パターンマッチ m// 演算子でオプション「i」を使うのは分かったのですが 具体的な記述はどうすればよいのでしょうか? いくつか試してみたのですが記述が不味く、CGI自体にアクセスできなくなってしまいました。 お手数お掛け致しますがどうぞ宜しくお願い致します。

関連するQ&A

  • KENTさんの掲示板のワード検索について

    http://www.supra.cx/joyful2chMe/index.html こちらのjoyful2ch.cgiの1071行目からのワード検索で、 検索対象を親記事のみにしたいのですが、どうすればよいでしょうか。 ログの中の$reno=""が親記事のようなのですが・・ # ファイルを読み込み @new=(); open(IN,"$logfile") || &error("Open Error : $logfile"); $top = <IN>; while (<IN>) { $flag=0; foreach $pair (@pairs) { if (index($_,$pair) >= 0) { $flag=1; if ($in{'cond'} eq 'OR') { last; } } else { if ($in{'cond'} eq 'AND') { $flag=0; last; } } } if ($flag) { push(@new,$_); } } close(IN); ここの辺りを書き換えるのでしょうか。

    • 締切済み
    • CGI
  • 禁止ワードの設定についてお尋ねします。

    下記の中で、禁止メールアドレスや禁止用語の設定ができると思うのですが、どの部分に禁止したいメールアドレスや用語を入れればいいのか分かりません。 何方か分かる方いないでしょうか? いた際にはご指導よろしくお願いします。 # 禁止メールアドレスのチェック if(@ngemails){ local($ngemail_flag) = '0'; foreach $ngemail (@ngemails){ if($in{'email'} eq $ngemail){$ngemail_flag = '1'; last;} } if($ngemail_flag){&error('メールアドレスが拒否されました');} } # 禁止用語のチェック if(@ngwords){ local($ngword_flag) = '0'; foreach $ngword (@ngwords){ if($in{'comment'} =~ /$ngword/i){$ngword_flag = '1';} if($in{'sub'} =~ /$ngword/i){$ngword_flag = '1';} } if($ngword_flag){&error('禁止用語が含まれています');} }

    • ベストアンサー
    • CGI
  • 一致する文字としない文字があるのですが

    会員のログイン等で、氏名(漢字)と生年月日でログインするように してあるのですが、「眞」や「はしご高」などの文字が、 フォームで渡ってきた場合に、 データと一致しなくエラーとなってしまいます。 if (!open(IN,"$file")) { &error('データベースエラー','.'); } @BASE = <IN>; $all = @BASE; close(IN); if ($FORM{'FF'} eq '') { $FF = 0; } else { $FF = $FORM{'FF'}; } $TO = $FF + $page - 1; if ($TO > $#BASE) { $TO = $#BASE; } $hit = 0; $next_num = ''; foreach $num ($FF .. $#BASE) { $data = $data2 = $BASE[$num]; &jcode'convert(*data,'euc'); ($d,$NO,$REM,$DATE,$NAME,$EMAIL,$PMAIL,$AGE,$SEX,$PREF) = split(/\,/,$data); # 名前(一致) if ($NAME5 ne 'dadada') { if ($NAME eq $FORM{'NAME'} ) { ; } else { next; } } # 生年月日(一致) if ($AGE5 ne 'kakak') { if ($AGE eq $FORM{'AGE'} ) { ; } else { next; } } # 検索終了処理 if ($hit == $page) { $next_num = $num; last; } else { push(@NEW,$data2); $hit++; } } と検索の部分はなっております。 エラーが出る漢字は少ないのですが、 ログインできないお客様がいて困っています。 なにか対処方法はございますでしょうか? 何卒、宜しくお願い致します。

    • 締切済み
    • CGI
  • 文字列変換

    $word = 'abc'; &word_check($FORM{'comment'}); sub word_check { local($wd) = @_; local($flag); foreach ( split(/,+/, $word) ) { if (index($wd,$_) >= 0) { $flag=1; last; } } if ($flag) { $FORM{'comment'} =~ s/($word)/【文字変換$1】/g; } } $FORM{'comment'}に$wordの文字列が含まれていた場合には対象文字列を変換しようと考えています。 上記のように$wordにabcのみでしたらうまく変換されるのですが、 $word = 'abc,123';というように複数指定した場合にうまくいきません。 繰り返す処理を使うのだと思いますが、あまり知識がないため、うまく出来ません。よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • ページ処理

    毎度お世話になってます 同じような質問を数回させていただいたのですが 自分の技量不足のため上手く行きませんでした なので再度質問の形を変えてお聞きさせていただきます 今以下のようなコーティングでデータベースを 作成しています その際のページ処理が上手くいきません どのように上手くいかないかというと マッチしたサイト全てが検索結果に表示されてしまいます このコーティングをベースに構成したいのですが 何とかなりますでしょうか? $view=2; sub subtwo {open(fp,"log.txt"); @lines = <op>; close(op); $bigin = $in{"page"} * $view; $end = $bigin + $view; if($i !~ /\d+/){$i = 0}; if($open eq "") {foreach $line (@li) {($abc,$def,$ghi,$jkl,) = split(/,/,$line); $chk = 1; foreach $k (@key) {if(index($line,$k,)<0) {$c = 0; last}} if($c>0) {print "<A HREF=\"$abc\">$def</A><br>\n";<br>\n";}}}} ############################################ sub subthree {$bigin = $in{"page"} * $view; $end = $bigin + $view; if($end<$マッチした総数の変数) {$nextpage=$in{"page"}+1; print qq(<FORM method="get" action="kensaku.cgi"> <INPUT TYPE=HIDDEN NAME="page" VALUE="$nextpage"> <INPUT TYPE="SUBMIT" VALUE="next"> </FORM>\n);} if($bigin>0) {$backpage=$in{"page"}-1; print qq(FORM method="get" action="kensaku.cgi"> <INPUT TYPE="HIDDEN" NAME="page" VALUE="$backpage"> <INPUT TYPE="SUBMIT" VALUE="back">\n);} if($page<0) {$page=0} }

  • 同名ID、同名画像ファイル名があったらエラー表示

    CGI勉強中です。既に同名の商品id_num及び画像ファイル名gazouが存在する場合、エラー表示する場合、コードの書き方がわかりません。 教えて下さい。 --------------------------------------------------------------- # 商品登録処理 sub goods_regist { if ( $in{'id'} eq '' ) { &error ('エラー','IDが未選択です'); } if ( $in{'id_num'} eq '' ) { &error ('エラー','商品個別番号が未入力です'); } if ( $in{'goods'} eq '' ) { &error ('エラー','商品名が未入力です'); } if ( $in{'tanka'} eq '' ) { &error ('エラー','商品単価が未入力です'); } if ( $in{'id_num'} eq '' ) { &error ('エラー','商品個別番号が未入力です'); } if ( $in{'ad_amount'} eq 'text' && $in{'ad_amount2'} eq '' ) { &error ('エラー','個数設定が不正です'); } if ( $in{'ad_amount'} eq 'list' && $in{'ad_amount3'} eq '' ) { &error ('エラー','個数設定が不正です'); } $goods_data = "$goods_dir/$in{'id'}.cgi"; open (DATA,"$goods_data") || &error('オープンエラー','商品データファイルが開けません。'); @LINES = <DATA>; close (DATA); $count = @LINES; if ( $count == 0 ) { $num = 1; } else { @lists = $LINES[-1]; $num = $lists[0]; $num = $num + 1; } &lock2; open (OUT,">>$goods_data") || &error('オープンエラー','メール設定ファイルが開けません。'); print OUT "$num\t$date_now\t$in{'id'}\t$in{'id_num'}\t$in{'goods'}\t$in{'tanka'}\t"; print OUT "$in{'ad_amount'}\t$in{'ad_amount2'}\t$in{'ad_amount3'}\t$in{'rem'}\t\n"; close (OUT); # 画像アップロード処理 ################ $filename = $in{'gazou'}; $gif = 1; $jpeg = 1; $macbin=0; foreach (@in) { if ($_ =~ /(.*)Content-type:(.*)\/(.*)/i) { $tail=$3; } if ($_ =~ /(.*)gazou=(.*)/i) { $fname=$2; } if ($_ =~ /application\/x-macbinary/i) { $macbin=1; } } $tail =~ s/\r//g; $tail =~ s/\n//g; $filename =~ s/\"//g; $flag=0; if ($image_up eq '0') { $flag=1; } if ($tail =~ /gif/i && $gif) { $tail=".gif"; $flag=1; } if ($tail =~ /jpeg/i && $jpeg) { $tail=".jpg"; $flag=1; } if (!$flag) { if ($fname =~ /.gif/i && $gif) { $tail=".gif"; $flag=1; } if (($fname =~ /.jpg/i && $jpeg) || ($fname =~ /.jpeg/i && $jpeg)) { $tail=".jpg"; $flag=1; } } if (!$flag) { &error("アップロードできないファイル形式です","lock"); } $upfile = $in{'gazou'};

  • 以下の関数の解説お願いします。

    Perl初心者のため、stdio.plにある この関数のやっていることがよく分からず困っています。 sub searchString #($str, $key, $mhmode, $lc, $z2h, $k2h, $igmark) { local($str, $key, $mhmode, $lc, $z2h, $k2h, $igmark) = @_; local($once, $from, $to); #static $key2, $key3; return 0 if ($str eq "" || $key eq ""); if ($key eq $key2) { $key = $key3; $once = 1; } else { $key2 = $key; } if ($jcode'version) { if ($k2h) { $from = 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポゐゑァィゥェォャュョッ'; $to = 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをんがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽヰヱぁぃぅぇぉゃゅょっ'; } if ($z2h) { $from .= '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+-=_|*!?”#$¥%&@:;'; $to .= '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+-=_|*!?"#$\%&@:;'; } if ($igmark) { $from .= '-ー・/_ '; $to .= '------'; } if ($from) { &jcode'tr(*str, $from, $to); &jcode'tr(*key, $from, $to) if (!$once); $str =~ tr/-_\///d; $key =~ tr/-_\///d; } } if ($lc) { $str =~ tr/A-Z/a-z/; $key =~ tr/A-Z/a-z/ if (!$once); } $key3 = $key; if ($mhmode == 5 || $mhmode =~ /^BOOLEAN$/i || $mhmode =~ /^BLN$/i) { local($i) = 0; local(@str, $eval); $key =~ s/ +AND +/ & /gi; $key =~ s/ *NOT +/ ! /gi; $key =~ s/ +OR +/ | /gi; $key =~ s/\( +/(/g; $key =~ s/ +\)/)/g; foreach (split /( & | \| )/, $key) { $str[$i] .= $_; $i ++ unless ($_ eq ' & ' || $_ eq ' | ') } for ($i = 0; $i <= $#str; $i ++) { local($option, $open, $close, $find, $not, $key); $key = $str[$i]; if ($str[$i] =~ /^( & | \| )/) { $option = substr $key, 0, 3; $key = substr $key, 3; } $open = $1 if ($key =~ /^(\(+)/g); $close = $1 if ($key =~ /(\)+)$/g); $key =~ s/\(|\)//g; if ($key =~ /^ *! +/) { $key =~ s/^ *! +//g; $not = 1; } $find = index($str, $key) >= 0 ? 1 : 0; $find = $find ? 0 : 1 if ($not); $eval .= "$option$open$find$close"; } $eval =~ s/ & /*/g; $eval =~ s/ \| /+/g; return (eval $eval >= 1) ? 1 : 0; } elsif ($mhmode == 4 || $mhmode =~ /^NOR$/i) { foreach (split / +/, $key) { return 0 if (index($str, $_) >= 0); } return 1; } elsif ($mhmode == 3 || $mhmode =~ /^EOR$/i) { local($flag) = 0; foreach (split / +/, $key) { if (index($str, $_) >= 0) { return 0 if ($flag); $flag = 1; } } return $flag ? 1 : 0; } elsif ($mhmode == 2 || $mhmode =~ /^OR$/i) { foreach (split / +/, $key) { return 1 if (index($str, $_) >= 0); } return 0; } elsif ($mhmode == 1 || $mhmode =~ /^NAND$/i) { foreach (split / +/, $key) { return 1 if (index($str, $_) == -1); } return 0; } else { foreach (split / +/, $key) { return 0 if (index($str, $_) == -1); } return 1; } } これを呼び出しているのが、別ファイル内の以下の部分です。 foreach(@datafile){ if($datafile[0] eq $_){ next; } # 1行目は項目名なので next if($param{'query_word'}){ unless(stdio::searchString($_, $param{'query_word'}, $param{'query_search_type'}, 1, 1, 1, 1)){ next; } } push(@search_file,$_); } datafileは 名前,住所,電話番号, 吉田,東京都渋谷区,03xxxxxxxx, といったデータファイルです。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 掲示板で親のデータを子に反映させる方法

    スミマセン。基本だと思いますが、教えてください。 Joyful系の掲示板のファイルなのですが、 各記事の親記事にある特定のデータを、 取り出す方法を教えて下さい。 5<>IP<>1234567890<> 3<><>2012/01/12(Thu) 08:42<>ウサギ<>Yahoo<> 5<>3<>2012/01/12(Thu) 09:04<>ネコ<><> 1<><>2012/01/12(Thu) 08:41<>イヌ<>Google<> 2<>1<>2012/01/12(Thu) 08:41<>ウサギ<><> 4<>1<>2012/01/12(Thu) 09:03<>タヌキ<><> こんな感じで、データが記入されるdatファイルがあります。 「1のレスが2・4」「3のレスが5」です。 それで、親記事に「Yahoo」や「Google」というデータが入っているので、 親記事1にレスしてる2・4でも、 親記事に入ってる「Google」といった文字を反映したいのです。 うまく伝えられ無いので、画像にしてみましたので見てやって下さい。 私が見てるプログラムでは、 レスはレスで、「Google」等の文字を探してしまっているので、望む形にならないのです; どうぞ、よろしくお願いします! ↓ざっくり。この辺りの最初の方に、親だけ読み込んで、$search1 とかに、セットできないかと考えています。 ★━━━━━━━━━━━━━━━━━━━━★ local($ipt,$wh,$i,$flag); # 記事を展開 open(IN,"$logfile") || &error("Open Error : $logfile"); $top = <IN>; $i=0; $x=1; $flag=0; # ソート無し:必要最小限だけ読み込み if(!$sort && !$threadsuu){ while(<IN>){ if((split(/<>/))[1] eq "") { $i++; } if ($i < $page + 1) { next; } if ($i > $page + $p_log) { next; } push(@DATA,$_); } } # ソート無し、スレッド表示有り elsif(!$sort && $threadsuu){ @DATA = <IN>; } # ソート有り:全データを読み込んでソート実行 else{ @DATA = <IN>; if($sort == 1){ &ressort; } if($sort == 2){ &nosort; } } close(IN); # 新着スレッドを表示 if($threadsuu || $up_down){ &thread; } # レスの表示制限をする場合には、配列を改造 if($max_res){ &omit; } foreach(@DATA){ ($no,$reno,$date,$name,$mail,$search) = split(/<>/); # ページ処理 if($sort || $threadsuu){ if ($reno eq "") { $i++; } if ($i < $page + 1) { next; } if ($i > $page + $p_log) { next; } } if (!$reno && $flag) { print "</td></tr></table><br><br>\n\n"; $flag=1; } if (!$reno) { print "<table class=\"table1\" align=\"center\" cellspacing=0 cellpadding=2>\n<tr><td>"; $flag=1; } if ($reno && $line_color) { print "<hr noshade size=1 width='85%' color=\"$line_color\">\n"; } print "<table width=100% border=0 cellpadding=2 cellspacing=0>\n<tr>"; if ($reno) { print "<td rowspan=2 width=40><br></td>"; } if($line_color){ print"<td>"; } elsif($reno){ print"<td class=\"b2\">"; } else{ print"<td class=\"b1\">"; } if (!$reno) { print "<span class=\"sub\"> <font color=\"$t_color\"><b>$sub </b></font></span>";} else { print "Re:<font color=\"$t_color\"><b>$sub </b></font></span>";} if($search == "yahoo") { print "投稿者:<span class=\"name\">$name</span> yahooで検索";} elsif($search == "google") { print "投稿者:<span class=\"name\">$name</span> Googleで検索";} else { print "投稿者:<span class=\"name\">$name</span> その他で検索";}

    • ベストアンサー
    • Perl
  • テキストの文字を抜き出す方法

    お世話になっております。 テキストに記載されている文字を、特定の開始文字列から終了文字列まで抜き出したいと思っております。また、抜き出したテキストは別のフォルダに保存する設定を考えてます。 例えば、 --------------------------------------------------------------- aaaaaa11111 bbbbb22222 c333 d4444 e55555 --------------------------------------------------------------- と書かれていた場合、bからdまでの文字列だけを抜き出したいのです。 その作業をバッチファイルで作成したいと思っており、Webで調べると下記のコマンドで実行が出来そうなのですが、私にはちょっと複雑すぎて困っています。 @ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION (FOR /F "delims=[] tokens=1*" %%0 IN ('FIND /N /V ""') DO ( IF "!FLAG!"=="1" SET FLAG=2 IF "!FLAG!"=="3" SET FLAG=4 SET "LINE=%%1" SET "LINE=!LINE:%1=!" IF NOT "!LINE!"=="%%1" SET FLAG=1 SET "LINE=%%1" SET "LINE=!LINE:%2=!" IF NOT "!LINE!"=="%%1" SET FLAG=3 IF "!FLAG!"=="1" ECHO=%%1&rem IF "!FLAG!"=="3" ECHO=%%1&rem IF "!FLAG!"=="3" GOTO :EOF IF "!FLAG!"=="2" ECHO=%%1 ) )<%3 bからdまでを指定する場合、どのように指定すればいいのでしょうか? また、抜き出したテキストを別のフォルダに保存する為のコマンドもご教授願えませんでしょうか? よろしく御願いします。

  • 登録画像のファイル名について

    perlで書かれた以下のソースで分からないことがあります。 $gazouno = time; foreach ( 1 .. $#lines ) { ( $db_name[$_],$db_input[$_],$db_value[$_],$db_tag[$_],$db_list[$_],$db_need[$_] ) = split(/<>/,$lines[$_]); if ( $db_value[$_] eq "pic" ) { if ( $in{'upfile'} ) { &UpFile; $flag = 0; foreach $confirm_type (@confirm_type) { if ( $tail =~ /\.$confirm_type$/i ) { $flag = 1; last; } } if ( $flag ) { $in{"item$_"} = "<img src=\"$ImgUrl$gazouno$tail\" width=$W height=$H>"; } } } $db_valueに"pic"を入力し画像を添付した場合、$gazouno = time;(現時刻)としているためファイル名が現在時刻に書き直され保存されます。 そのため2枚目以降に添付した画像も1枚目と同じファイル名になってしまい保存できません。 そこで、$gazounoの後に登録順に番号を振りたいのですが($gazouno-1,$gazouno-2,$gazouno-3・・・というように)、 どのようにすればいいのか分かりません。 例えば1枚目のファイル名1245756792.jpgを1245756792-1として以後1245756792-2,1245756792-3とする方法を、どなたかご教授お願いします。

    • ベストアンサー
    • Perl

専門家に質問してみよう