トップページ⇒php
1001コメント364KB

Perl コーディング初心者質問コーナー Part36

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/07/14 13:23ID:???
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

過去ログやお勧めサイトは >>2-10
0446nobodyさん04/08/08 17:55ID:???
>>445
444じゃないけど、検索エンジンって知ってる?自分の好きな言語の解説読めばいいじゃん。あほ?
0447nobodyさん04/08/08 18:29ID:???
コピペしかできない奴の方がアホだと思う。
0448nobodyさん04/08/08 18:37ID:???
>>435 だよなぁ。。。

英語が読めないとほざくバカチョン様へ

まずは、コード例をみてみましょう。
そして気になるところがあったら、その部分の解説英文をコピーして、
http://www.excite.co.jp/world/english/
に貼り付けてみましょう。

バカチョンな訳しかできないけれども、それなりに真意は読めてきます。
気をつけるところは大文字の MUST や MAY などの大文字を小文字に変換してみましょう。
あとは脳内で「日本語置換」するのではなく、「英文を感じ取る」のです。

と、ここまで書いてみたところで、バカチョン様には無理でしょうねぇ。
0449nobodyさん04/08/08 18:49ID:???
>>445
>>6
http://perldoc.jp/docs/perl/5.6.1/perlfunc.pod#item_open_FILEHANDLE_MODE_LIST
http://www.kt.rim.or.jp/%7Ekbk/perl5.005/perlfaq8.html#How_can_I_open_a_pipe_both_to_an
0450nobodyさん04/08/08 18:51ID:???
$a = 1 unless $a;

$aが未定義であれば代入するっていうunlessを使った処理だけど、
たいていのリファレンスサイトではこの処理を↓で説明してるよね。

unless ( $a ){ $a = 1 }

簡単な処理の場合は一行目の書き方のほうがいいと思うんだけど、何故か一行目の書き方も
できると説明してるサイトは見たことない(perl.doc等ならあるだろうけど日本人の作ったサイトでは見てない)。
perlのバージョンによって通用するか異なる書き方だからかな?それともなんかやめておいたほうがいい理由があるのかな?

0451nobodyさん04/08/08 18:54ID:???
$a ||= 1;
0452nobodyさん04/08/08 18:56ID:???
未定義と0って見分ける方法ある?
045344504/08/08 18:57ID:???
>>all
俺は何も質問してないよ;

>>446
で、試しに>>444と同じ事を日本語で説明してるサイト探してみなよ。
面倒くさくないか?

>>447
せっかくの回答者に暴言吐くな

>>448
今度疑問があったときにやってみるね。
0454nobodyさん04/08/08 18:57ID:???
defined
0455nobodyさん04/08/08 18:58ID:???
>454
thx
045645004/08/08 19:00ID:???
>>452
ごめん

$a = 1 unless defined $a;
0457!44504/08/08 19:17ID:???
回答者にわざわざ日本語ページを探させるのが当たり前だと思ってんのか?何様だてめえら?
甘ったれ過ぎだろ。赤ん坊か?カスどもめ。
0458nobodyさん04/08/08 19:18ID:???
禿同
0459nobodyさん04/08/08 20:00ID:alTDDsx/
スレ違いかもしれませんが,Perlやphpのコードの位置をinetdなどで指定しておいて,
特定のポートに接続があったら,スクリプトを起動すると言うことは可能でしょうか?
0460nobodyさん04/08/08 20:04ID:???
>>459
inetdを使うんだろ?
当然できる
046145904/08/08 20:08ID:alTDDsx/
>>460
ということは,例えば,メールを受信したらスクリプトが起動するという処理も
可能と言うことですよね?
0462nobodyさん04/08/08 20:11ID:???
>>459
可能。
サンプル ttp://www.fc-lab.com/network/program/inetd/
「inetd」でググった最初のページにあった。
046346204/08/08 20:13ID:???
>>461の発言からinetdの役割を理解していないようなので、
>>462は無かったことにしてくれ。
そんなやつには無理。
0464nobodyさん04/08/08 20:36ID:???
調子に乗るな
0465nobodyさん04/08/08 21:26ID:???
>>463
そのくらい>>459の質問内容から予想しろ。
0466nobodyさん04/08/08 21:57ID:???
>>461
inetd でどうやって「メールを受信した」が判別出来るのかを考えてみましょう。
smtp は、あくまでも「中継」だからねぇ。

個人的には .qmail に | を入れているけれども。
♪ウイルスチェックと、新着ウイルス DAT 情報から dat ファイルを取りに行くスクリプトなどなど。
0467nobodyさん04/08/09 06:45ID:???
最近は回答者側が暴れるのが流行ってるのか?
0468nobodyさん04/08/09 08:21ID:???
>>467
答えてやった上に罵倒されて平気なのか?
奴隷扱いされることに慣れてるとそう思うのかもしれないな。
0469nobodyさん04/08/09 08:33ID:???
適当に無視するか、うざかったら今後回答しないとかね。
真面目に相手をしてあげすぎなんじゃない?
いいやつなゆえだろうけど、気楽にいこうよ。
0470nobodyさん04/08/09 08:43ID:???
Perlで常駐ソフトを作るのは危険?
それとも、ちゃんと作れば大丈夫?
0471nobodyさん04/08/09 09:01ID:???
>>470
バッファあふれが起こらないだけでもCに比べてだいぶ安全だと思うけど。
0472nobodyさん04/08/09 09:11ID:???
>>471
バッファあふれはともかくとして、心配してるのは
メモリをちょっとづつでも使い込んでいくことです
0473nobodyさん04/08/09 09:13ID:???
ただメモリ消費量はCとは比較にならないくらい大きいからねぇ。
0474nobodyさん04/08/09 09:15ID:???
>>472
それはPerl云々よりもOSの問題もあると思うが。
Perl自体は妙な使い方をしないかぎり平気。メモリはちゃんと管理してくれる。
0475nobodyさん04/08/09 10:10ID:???
@a = \@b;
0476nobodyさん04/08/09 10:21ID:???
>>474
内部構造は良く知らないんだけどperlのGCってメモリが
断片化したときにコンパクティングとかしてくれるんだろうか?
0477nobodyさん04/08/09 11:24ID:???
いちいちしてたら重くなるからしないんじゃない?
0478nobodyさん04/08/09 15:37ID:???
>>470-
Perlはメモリの管理はしっかりしてるが、一度確保したメモリは終了まで保持される模様。
巨大なメモリが必要なところは、forkして子プロでやるのが吉。
0479nobodyさん04/08/09 16:03ID:???
>>478
つまり、変数をポッポコ作るとよくないというわけですな
0480sage04/08/09 17:15ID:17VOmc59
あるアクセスログファイルがあります。
======
/folder1/
/folder2/
/folder3/
/file1/test.txt
/file1/test00.txt
/folder2/aa.txt
/folder2/
======
と、フォルダ名、ファイル名がガガっと書いてあります。
カウントしたいものは、
/folder1/
/folder2/
/file1/test.txt
へのアクセス回数です。ということで、

%count =("/folder1/"=>0,"/folder2/"=>0,"/file1/test.txt"=>0);という連想配列を作成しました。
ファイルオープン→それぞれの行を@log_gyouに入れて
while (($key,$value) = each %count){
  if ($log_gyou[$cc] =~ /^$key/){
    $count{$key}=$value+1;
    last;
  }
}
$ccを行数分繰り返してます。
結果は、カウント数がおかしいです。自分で目でカウントしたものより、少なく出ています。

連想配列のキーに、「/」とか「.」は使えない??と思いましたが、それならエラーになりますよね??
でも、やっぱ使わない方が良いんですか?

どこか、おかしなところがあったら、教えてください。
0481子プロ哲哉04/08/09 17:15ID:???
なるほどねぇ。
0482nobodyさん04/08/09 17:21ID:???
>>479
変数の数は関係ない。
百M超級のファイルをいくつか丸呑みして処理してたら、
どえらい使用量のまま動いててかなり焦った。
0483nobodyさん04/08/09 17:33ID:???
それはディスクキャッ(ry
0484nobodyさん04/08/09 17:35ID:???
>>480
eachを使ったループを途中でlastで抜けて最後まで
使ってないので、次の回でeachがリセットされてない
ためと思われる。

この構造でいきたいなら、keysかvaluesでリセットすれ。
0485nobodyさん04/08/09 17:41ID:???
>>480です。

>>484さん。解決できました!!
すううげええぇえええぇえ!!
一瞬でわかっちゃう人が居るんですね!
ありがとうございました!ぺこり。
0486nobodyさん04/08/09 18:24ID:???
>>485
そこまで言われるとちょっと気分がいいな
これからもなんかあったら来いよ
048748004/08/09 18:41ID:???
>>486

( ̄ー ̄)ニヤリ
048848604/08/09 19:33ID:???
まあ俺はなんも答えてねけどなw
0489nobodyさん04/08/09 22:22ID:???
Perlのレキシカル変数はかってにメモリが開放されないの? undefしたら開放される?
0490nobodyさん04/08/09 22:27ID:???
勝手に開放されたら困るじゃねーか
0491nobodyさん04/08/09 22:37ID:???
>>490
必要なくなったらってことだよ
{ my $var = 1111111; }
$varはブロックを出るときに、開放されるのかってことが聞きたい
0492nobodyさん04/08/09 23:03ID:???
Perlが一度確保した物理的なメモリ自体はPerlが終了するまで何やっても全く開放されない。
undefしたりスコープから抜けるとPerlが空きブロックだと認識して、別の変数でそこのメモリ空間を再利用するだけ。
0493nobodyさん04/08/10 00:37ID:???
>>491
される。
0494nobodyさん04/08/10 10:53ID:???
つまり、>>493は嘘か?
0495nobodyさん04/08/10 12:44ID:???
茶々入れたいのだろうよ
0496nobodyさん04/08/10 13:46ID:???
perlの中で見れば再利用されるから解放されたともいえるが
外から見れば取りっぱなしなので解放されないともいえるという
玉虫色の解釈でいいと思われ。

0497nobodyさん04/08/10 16:56ID:Rp3Iu5NL
>#!/usr/bin/perl
print<<HTML_DOCUMENT;
content-type: text/html
<html>
<body>
こんにちは<br>
私の名前は藤森水絵です<br>
</body>
</html>
HTML_COCUMENT
をコンパイルすると必ず
>C:\httpd\cgi-bin>perl 52.pl
Can't find string terminator "HTML_DOCUMENT" anywhere before EOF at 52.pl line 3.
というエラーが出てきます。解決方法知っている方教えてください。
0498nobodyさん04/08/10 17:02ID:???
>>497
メッセージの意味は
「ターミネータの "HTML_DOCUMENT" が EOF まで行っても
 見つからないよ、うわーん」なので、
最後の
> HTML_COCUMENT
こきゅめんと を どきゅめんと に変える、とか。

あと、
> content-type: text/html
この辺、調べなおしたほうがよいです。
0499nobodyさん04/08/10 17:12ID:???
>>497
まるちすんな
0500nobodyさん04/08/10 17:13ID:Rp3Iu5NL
nobodyさん。
レス有難うございます。
こきゅめんとをどきゅめんとにしましたが
それでも上手くいきません・・・。

#!/usr/bin/perl

print<<HTML_DOCUMENT;
content-type: text/html

<html>
<body>
こんにちは<br>
私の名前は藤森水絵です<br>
</body>
</html>
HTML_DOCUMENT

> content-type: text/html
をどうしたらよいのでしょうか?
050149804/08/10 17:24ID:???
>>499
どことかぶってるの?(丸投げスレでヘンなことになったしさ)

>>500
> 上手くいきません
の内容を書かないと伝わらないですよ。
手元の環境では、 perl -wc test.pl しても OK 出るし、
perl test.pl で標準出力に表示してくれます。
>>497のエラーは出なくなってると思うんですけど…。
050249804/08/10 17:33ID:???
訂正。寝ぼけすぎ。

> content-type: text/html

\n\nがついてるのを見慣れすぎてただけです。すいません_| ̄|○
0503nobodyさん04/08/10 17:57ID:???
Perlについての質問箱 11箱目
http://pc5.2ch.net/test/read.cgi/tech/1090889189/278
0504nobodyさん04/08/10 17:57ID:Rp3Iu5NL
#!/usr/bin/perl

print <<HTML_DOCUMENT;
content-type:text/html

<html>
<body>
こんにちは<br>
私の名前は藤森水絵です<br>
</body>
</html>
HTML_DOCUMENT
をC:\httpd\cgi-bin>perl 52.pl でコンパイルしていますが
Can't find string terminator "HTML_DOCUMENT" anywhere before EOF at 52.pl line 3
. となり上手く行きませんほかにコンパイル方法あるのでしょうか?
0505nobodyさん04/08/10 17:58ID:???
>>503
了解です。
0506nobodyさん04/08/10 19:29ID:???
>>503
ヒアドキュメントの終端識別子の後には空白行が必要。正確には空白でなくてもいいが、
ファイルの最後の行数=終端識別子のある行数ではエラーになる。

で、コピーして動作確認したが何のエラーもなく表示されたぞ?おまいは何だ?
0507nobodyさん04/08/10 19:43ID:???
readdirの戻り値?に「.」と「..」が含まれますが
これを含まないで一発で取得する方法ってありますか?

あとで拡張子等を評価するってのは思い付くのですが
何か無駄なような気がするので質問させてもらいました。
0508nobodyさん04/08/10 20:22ID:???
>>506
> ヒアドキュメントの終端識別子の後には空白行が必要。
不要。終端文字列の前後に余計な空白文字があるのは NG だが。

>>507
http://perldoc.com/perl5.8.4/pod/func/readdir.html
my @file = grep /^\.\.?\z/, readdir DIR;
0509nobodyさん04/08/10 21:41ID:???
>>508
ちゃんと最後まで読んでよ。
>ファイルの最後の行数=終端識別子のある行数ではエラーになる
って言ってるじゃないのよ。まあ初めが語弊のある言い方だったけどさ。
0510nobodyさん04/08/10 22:26ID:???
>>504
終端識別子の「HTML_DOCUMENT」のケツに、改行が入ってねぇんじゃねぇの?
>509はそういうことが言いたいのか?俺にも今ひとつ分からんかったのだが・・・

>>508
「.」と「..」を含まないでって言ってんのに、それじゃあ「.」と「..」しか得られん。
my @file = grep !/^\.\.?$/, readdir DIR;
では?
0511nobodyさん04/08/10 22:40ID:???
>>509
print <<EOF;
here-document.
EOF

この三行で普通に動くが?

ヒアドキュメントの終端は「終端文字列だけから成る*行*」でなければ
ならないので、終端文字列の後ろに改行は必要だが、それ以下には
何ら必要でない。

>>510
訂正ありがとう。
0512nobodyさん04/08/11 01:20ID:???
>>509
人にちゃんと読めとかいう前に日本語勉強してこい。
何言ってんのかさっぱり分からん。
0513nobodyさん04/08/11 01:46ID:???
>>509
行数 ( ´,_ゝ`)プッ
何言ってんのかさっぱり分からん。
0514nobodyさん04/08/11 04:28ID:???
my %a;
$a{aa} = 1;
------------------

my $a;
$a{aa} = 1;

------------------

my $a;
$a->{aa} = 1;

の違いがイマイチ分かりません。
解説してる所とか無いですか?
0515nobodyさん04/08/11 04:36ID:???
>>514
1番上はハッシュ
1番下はリファレンス
まん中はハッシュがmyにならないので文法ミスかも
0516nobodyさん04/08/11 04:37ID:???
リファレンスとか参照でぐぐって
二番目はありえない気ガス
0517nobodyさん04/08/11 08:07ID:???
>>514
>>6
0518nobodyさん04/08/11 08:46ID:???
上は普通の書き方なんで問題ないだろ。

真ん中はスカラー変数$aをmyにしてるが、2行めは%aへの操作で
別にエラーになるような間違いじゃないがその2行はなんの関連
もない。

下はスカラー変数$aがmyになっていて、最初はundefが入っているが、
$a->{aa}=1;したときに自動的に無名ハッシュが生成されてその
リファレンスが$aに入る。で、その無名ハッシュのキーaaに対応
する値が1になる。
051950904/08/11 09:33ID:???
なんか叩かれてるが、実際にエラーになるんだから仕方ないだろ。

>>510-511
>終端識別子の「HTML_DOCUMENT」のケツに、改行が入ってねぇんじゃねぇの?
だから
>ファイルの最後の行数=終端識別子のある行数ではエラーになる
と同じ意味だろ。改行いれずにどうやって
ファイルの最後の行数!=終端識別子のある行数
にするの?

>>513
行数がわからないと、文法チェックもできないからちゃんと勉強しれ。
0520nobodyさん04/08/11 09:52ID:???
>>519
>>506 での "空白行" が >>508 では "空白文字" と捉えられてる。
空行とか改行文字って表現にしたほうが良かったんじゃない? > 語弊の原因
# 空白行ってあまり聴かないし
0521黒死犬 ◆EgxBlf8nvc 04/08/11 11:59ID:???
http://www.google.com/search?num=50&hl=ja&ie=UTF-8&c2coff=1&q=%22%E7%A9%BA%E7%99%BD%E8%A1%8C%22&lr=lang_ja

>>519
うちの環境だと、それでもエラーになりませんが・・・
でも前のバージョンでエラーになった覚えがあるので、ひょっとしたら改善されたのかもしれません
0522nobodyさん04/08/11 12:30ID:???
>>520
確かにふつーは空行だな。
でも空行ってのは行頭に\nがあるわけで、この場合必要ない。
必要なのは終端識別子の末尾の改行。
そこでファイルエンドなら問題ない。

>>519
>>ファイルの最後の行数=終端識別子のある行数ではエラーになる
>と同じ意味だろ。
とか言われても、お前にしか通じん言葉では同意は得られんと思うが?
行数じゃなくて行番号ならまだしも。
ただ、
HTML_DOCUMENT[\n]
[EOF]
となっている場合、終端識別子の行がファイルの最終行なわけだが、
これなら改行が入っているから問題ない。
一部のエディタじゃ[EOF]にも行番号が表示されるから、そこが最終行だと
勘違いしてんじゃねえのか?
052350904/08/11 12:32ID:???
>>520
改行入れなくちゃいけないって言うのが一番良かったよね。ごめんね。
>>521
ありがとう。
0524nobodyさん04/08/11 13:02ID:???
フォームに入力された全角数字を半角数字に置換したいんですが、

$value =~ s/1/1/g;
みたいなのを1〜9まで繰り返すしか思いつかないのですが、一発でやるようなコーディングはありませんか?
0525nobodyさん04/08/11 13:41ID:???
一体、何コードの全角さんなのか。。。
0526nobodyさん04/08/11 14:09ID:???
>>524
その方法しかない。がんばれ。
052752404/08/11 14:42ID:???
>>525
すみませんEUCコードです。
0528nobodyさん04/08/11 15:05ID:???
$value = '0123487740562392210';
$ref_exchange = ['0','1','2','3','4','5','6','7','8','9'];
$value =~ s/$ref_exchange->[$_]/$_/g for 0..9;
printf "%s\n", $value;

かなりお間抜けかも、、、
0529nobodyさん04/08/11 15:17ID:???
packの型のc(符号付き)とC(符号なし)の符号って何のことですか?
プラス、マイナスとかのこと?
print pack "c*" 0xa4,0xa2;
print pack "C*" 0xa4,0xa2;
EUCだと両方「あ」って表示されて差がわかりません。おながいします。
0530nobodyさん04/08/11 15:42ID:???
>>524
use Jcode;
$value = '1234567890';
$value = Jcode->new($value)->tr('0-9', '0-9')->euc;
print $value, "\n";

または

use utf8;
use encoding 'euc-jp', Filter=>1;

$value = '1234567890';
$value =~ tr/0-9/0-9/;
print $value, "\n";
0531nobodyさん04/08/11 15:47ID:???
>>529
packするときは違いがでない。unpackすると違いが出る。

print unpack "c*", "\xff";
print unpack "C*", "\xff";
0532nobodyさん04/08/11 15:53ID:???
>>529
use warningsすればわかるよ。
053352904/08/11 16:09ID:???
>>531
print unpack "c*", "\xaf";
print unpack "C*", "\xaf";
だと
-81
175
で
print unpack "c*", "\x7f";
print unpack "C*", "\x7f";
だと
127
127
で同じ。一体どういう仕組みですか?
053452904/08/11 16:13ID:???
それと
print unpack "C*", "0xff";
print qq\<br>\;
print unpack "C*", 0xff;
print qq\<br>\;
print unpack "C*", "\xff";
print qq\<br>\;
print unpack "C*", \xff;
は
48120102102
505353
255
83676576658240481204957555350489941
になるんですが、どうしてクォートありなし、\xと0xで違うものになるんでしょうか?
\xは0xと同じ意味だと思ってたのですが。
0535nobodyさん04/08/11 16:15ID:???
>>533
Perlじゃないけどこんなページ見つけた
ttp://www.kab-studio.biz/Programing/PragmaTwice/Main/056.html
053652404/08/11 16:16ID:???
>>530
Jcodeは使ったことないので多分自宅のテスト環境用のactiveperl5.6.613には入ってないと思いますが
ppmを使ってインストールができるモジュールなのでしょうか?鯖(joe's)でも使えるか確認してみます。
0537nobodyさん04/08/11 16:18ID:???
>>535
ウイルスっぽい言い方・・・・
053852904/08/11 16:58ID:???
>>535
符号あり-128〜127
符号なしは0〜255
16進数二桁だとこんなかんじなんですね^^mysqlのtinyintと同じ感じ。
わかりやすいサイトでした。534については載ってませんでした。
0539nobodyさん04/08/11 17:31ID:???
>>534
perlのリテラルについてよく勉強しろ。

"0xff"
'0', 'x', 'f', 'f'の4文字からなる文字列

48120102102
'0'の文字コード48, 'x'の文字コード120,
'f'の文字コード102, 'f'の文字コード102
がくっついて出力された

0xff
16進数のff=10進数の255

505353
255がまず文字列に変換され、各桁の文字コード
'2'が50と'5'が53がくっついて出力された

"\xff"はいいだろう。

\xff
裸の文字列リテラルxffの前に\演算子がついて
それのリファレンスをとったことになる。

83676576658240481204957555350489941
スカラーのリファレンスは文字列に変換すると
SCALAR(0xほげほげ)と変換される。(0xほげほげ
はポインタかなんかを16進表示したもの)
'S'は83,'C'は67,...(以下略)
0540nobodyさん04/08/11 17:36ID:???
一つの変数にバイナリとして丸ごと格納されているImageMagickでいう
RGBフォーマット(ベタイメージ)の画像があるのですが、
(サイズや色数情報などば別の変数に持っています)
これをPNGとして書き出すのにいい方法はありませんか。
テンポラリファイル等はできるだけ作りたくないのですが。

とりあえず新しくImage::Magickオブジェクトを作ったあと、
SizeとDepthをセットしunpackでforで1ピクセルずつ16進表記に直してSetした後、
Writeする方法でやってみたのですが、
1ピクセルずつSetを行うととんでもなく遅いので…
0541nobodyさん04/08/11 17:37ID:???
×unpackでforで1ピクセルずつ16進表記に直して
○forで1ピクセルずつunpackで16進表記に直してから
0542nobodyさん04/08/11 18:19ID:???
>>540
それだけではいまいちわからんが、blobToImageあたり使えない?
054352904/08/11 18:31ID:???
>>539
非常にわかりやすい説明ありがとうございます。
ところで"\xff"はどういう感じなのでしょうか?
print "\xff"とするとEUCでは「・」だけ表示されます。

0xff → 先に255に変換されてから関数に渡される。
"\xff" → 255に変換せずに16進数のffという値を関数に渡している。
であってますよね?
0544nobodyさん04/08/11 18:49ID:???
>>543
"\xff"は16進数のff(=10進の255)1バイトからなる
文字列。

これはEUCとしては使ってない部分なので、なにか
表示されるとしても苦し紛れになんか出してるだけ
だと思うよ。
0545nobodyさん04/08/11 18:53ID:???
@arrayに格納されている全部の要素の文字列を置換したい時はどうやればいいんですか?

foreach my $foo (@array){
$foo=~s/aaa/bbb/;
}
とすると@arrayに書き戻せないですよね?

for (my $i=0; $i >= @#array; ++$i){
$array[i]=~s/aaa/bbb/
}
これでいけると思うんですけど、ほかにシンプルな方法はありますか?
■ このスレッドは過去ログ倉庫に格納されています