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

Perl 初心者コーナー Part24

■ このスレッドは過去ログ倉庫に格納されています
0001 ◆fBgbHI04bQ 03/06/07 22:30ID:GbQKLcPE
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。

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

最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。


CGIだけど、なんか質問ある? Part 10
http://pc2.2ch.net/test/read.cgi/php/1048686475/
【Perl,CGI】参考書籍 第三版
http://pc2.2ch.net/test/read.cgi/php/1030209573/
CGIに依存しないPerlの話題一般/Part2
http://pc2.2ch.net/test/read.cgi/php/1030548610/
スクリプトの改造依頼は、【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/

過去ログやお勧めサイトは >>2-10
0133nobodyさん03/06/09 20:52ID:???
$ImageDir = "../image/photo/";
$in{id} = 8;
$in{file1name} = "hoge.jpg";
$in{file1name} = "fuga.jpg"
rename($ImageDir.$in{file1name}, $ImageDir."photo1_id".$in{id}."jpg");
rename($ImageDir.$in{file2name}, $ImageDir."photo2_id".$in{id}."jpg");
とやっても、renameされません。

パス付きファイル名をrenameに渡してもダメなのでしょうか?
だとしたら、同じことを実現するにはどうすればいいのでしょうか?
0134nobodyさん03/06/09 21:32ID:???
パス付きでもいけるはず。
・ フィアル名が正確かどうかprintで出力して確認
・ エラーがあれば、エラー内容を出力

エラー内容は$!に入ってるので、
rename $file1,$file2 or die "rename Error : $!"; で見てみればいい。
0135nobodyさん03/06/09 23:23ID:???
>>134
あ、renameでもor dieできるのですね。。。
そっか、openのときしか使ったことなかったです。さんくすです。
0136nobodyさん03/06/10 02:08ID:0JHS1DHo
1バイトとかバイト単位ではなく、1文字という文字単位で抜き取る関数はありますか?
半角カナとかの1バイト文字と、1バイト文字も含めた全ての文字列との比較させて、その結果によって処理を振り分けるスクリプトを作りたいんで。
ちょっと説明が難しいんですが、知ってる方いたら教えて下さい。
substrではダメなんです。
0137nobodyさん03/06/10 03:04ID:???
>>136
2バイトも一文字として認識してほしいって事?
そんな関数ないっぽいです。
モジュールなら、どこかにあるかも。

極論で言わせてもらえば、jperl使えって事になってくるかな。
0138nobodyさん03/06/10 03:07ID:???
それは極論なんだろうか
0139nobodyさん03/06/10 03:16ID:???
>>138
たぶん極論・・・
って言うか、俺的に極論かな・・・?

日本語文字列で問題がおきてる。

jperl使え。 終了。

これが、黄金パータンでしょ?(w
0140nobodyさん03/06/10 07:44ID:???
>>136
sjisじゃできんが(2バイト文字と1バイト文字が重複する)、eucならできる。
perlメモの「日本語を扱う」に書いてある。がいしゅつ
0141nobodyさん03/06/10 09:10ID:???
1:CGI::Sessionモジュールを使ってセッション管理をしてみたい

2:CGI::Sessionモジュールを試用してテスト中、
クライアントからセッションIDを取得できなかった場合のテストをやってみたら...

3:サーバにセッション情報を保持したファイルが残って、更新されることも消えることもなかった。

該当のセッションを使用してのアクセスがないので更新されないのはあたりまえなのですが、
もう使われることのないセッション情報を消す管理用メソッドとかないのでしょうか。
0142nobodyさん03/06/10 14:45ID:H1NA4Acv
$ORG[0] = {
"person" => "tanaka",
"adana" => "tanachan",
"adanaid" => 5,
};
$ORG[1] = {
"person" => "takada",
"adana" => "takachan",
"adanaid" => 2,
};
$ORG[2] = {
"person" => "imai",
"adana" => "imachan",
"adanaid" => 3,
};
@tmp = sort { (${ORG[$a]->{adanaid}} <=> ${ORG[$b]->{adanaid}}) } 0 .. $#ORG;
foreach (@tmp) {
print 'person='. $ORG[$_]->{person}. "\n";
print 'adana='. $ORG[$_]->{adana}. "\n";
print 'adanaid='. $ORG[$_]->{adanaid}. "\n";
}
はわかるのですが(以前こちらで教えていただいたのですが)
そうではなく、@ORGを、${ORG[?]->{adanaid}}でソートした結果を、
再び@ORGとして得るにはどうすればいいのでしょうか?
(ただし、一個一個person、adana、adanaid などとせずに。。。実際は項目が多いもので)
foreach my $key (keys %{$ORG[0]}){
\$ORG[0]->{$key}
}
↑この辺をどうにかするよな気がするのですが・・・

0143nobodyさん03/06/10 15:16ID:???
>>142
よくわかんないけど、こんな感じ?

@tmp = sort { (${ORG[$a]->{adanaid}} <=> ${ORG[$b]->{adanaid}}) } 0 .. $#ORG;
foreach (@tmp) { push(@temp,$ORG[$_]); }
foreach (@temp){
 while(($i,$j) = each(%$_)){
  print qq|$i = $j\n|;
 }
}
014414203/06/10 15:42ID:???
>>143
ありがとう、できますた!
0145nobodyさん03/06/10 18:37ID:???
解凍してコピーだけで使えるXMLパーサモジュール教えてください。
XML::Parser::Liteで読めるようになったけど書き込めない・・・。
0146通行人さん@無名タレント03/06/10 18:53ID:???
@ORG = sort { $a->{ adanaid } <=> $b->{ adanaid} } @ORG;
foreach my $man(@ORG){

#print_man
foreach my $atti(keys %{ $man }){
print $atti, ' => ' ,$man->{ $atti }, "\n";
}
print "\n";
}

0147nobodyさん03/06/10 20:01ID:???
>>139
jperl 使うぐらいなら Perl 5.8.0 使え。
0148nobodyさん03/06/10 20:13ID:???
表示部分だけ

foreach my $person (@ORG) {
 foreach my $attr (sort keys %$person) {
  print $attr, ' => ', $person->{$attr}, "\n";
 }

 print "\n";
}
0149nobodyさん03/06/10 23:10ID:???
Perlでつくったプログラムをexeファイルにして誰でも使えるようにできますか?
0150nobodyさん03/06/10 23:15ID:???
 (-_- ) ……
  (∞ )  …出来ないんじゃないか?
   | |
0151nobodyさん03/06/10 23:46ID:???
>>149
perlcc
0152nobodyさん03/06/11 01:07ID:b6wCYV2G
糞な質問で申し訳ありません。

subInputPage {
print "Content-type: text/html; charset='Shift_JIS'\n\n";
$fname = $FORM{'name'};
print <<END;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><body>
<strong>$fname</strong>さん<br>
</body></html>
END
}

subResultPage {
print "Content-type: text/html; charset='Shift_JIS'\n\n";
print <<END;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head><title>名前入力</title></head>
<body>
<strong>$fname</strong>さん
</body></html>
END
}

↑ResultPage内の $fname が空になってしまうのですが、
InputPage内の $fname に格納したもの(これは表示される)を
ResultPageの中の $fname に受け継がれるようにするには
どうしたらいいのですか?
0153無料動画直リン03/06/11 01:10ID:xrcrQEEf
http://homepage.mac.com/norika27/
0154nobodyさん03/06/11 01:19ID:???
>>149
http://www.indigostar.com/perl2exe.htm
>>152
表示されるよ?
ちなみにsubの後にスペースが無いのは関係ないよね?
0155nobodyさん03/06/11 01:20ID:???
>>154
if (...) {
  &InputPage;
} else {
  &ResultPage;
}
ってやってんだろ。
0156nobodyさん03/06/11 01:34ID:b6wCYV2G
早速答えていただいてありがとうございます。

>>154
subは関係ないです。

>>155
全くその通りです。

if($FORM{'mode'} eq 'enter') {
InputPage();
}
elsif($FORM{'mode'} eq 'result'){
ResultPage();
}
ってやってます。
どうやったら表示されるようになりますか?
0157nobodyさん03/06/11 01:58ID:???
>>151
ActivePerlのperlccはエラーコード吐いて意味なし。
0158nobodyさん03/06/11 02:04ID:???
Cコンパイラを用意していないだけだったりして。
0159nobodyさん03/06/11 02:04ID:???
>>156
そのif分岐の前に $fname を設定しなきゃダメだよ(´・ω・`)マジデ マジデ
0160nobodyさん03/06/11 02:07ID:???
>>158
Cコンパイラを用意しないといけないんですか・・・。

どうやってやるんですか?
0161nobodyさん03/06/11 02:09ID:???
bcc
016215203/06/11 02:10ID:b6wCYV2G
>>159
たびたびすいません、ネタじゃなくてまじわからんです。

$fname = '名無し';
if($FORM{'mode'} eq 'enter') {
InputPage();
}
elsif($FORM{'mode'} eq 'result'){
ResultPage();
}

これだと$fnameに「名無し」がはいちゃうし・・
0163nobodyさん03/06/11 02:14ID:???
>>152
myやlocalをつけなければグローバルになるはずだから、そのままでも受け継がれるはずだけど・・・
サブルーティンを呼び出す順番は正しい?
0164nobodyさん03/06/11 02:15ID:???
>>162
入っちゃいけないの?(´・ω・`)
そういう風に自分で設定してるんだよ(´・ω・`)マジデ マジデ

$fname = $FORM{'name'};
if($FORM{'mode'} eq 'enter') {
 InputPage();
}
elsif($FORM{'mode'} eq 'result'){
 ResultPage();
}

これじゃだめなの?(´・ω・`)
0165nobodyさん03/06/11 02:18ID:???
if-elsifじゃそのどちらかしか呼ばれないだろ。
0166nobodyさん03/06/11 02:22ID:???
両方ともこうやっちゃえ

<strong>$FORM{'name'}</strong>さん<br>
0167nobodyさん03/06/11 02:29ID:???
ResultPage()の中で$fname=$FORM{'name'};とやればいいと思うんだけど。
InputPage()とResultPage()は一度に両方とも呼ばれることはないんでしょう?
016815203/06/11 02:42ID:b6wCYV2G
みなさんレスありがとうです。正直こんなに親切にレスしてもらえると思ってなかったので(笑
感激しております。

if($FORM{'mode'} eq 'enter') {
InputPage();
}
elsif($FORM{'mode'} eq 'result'){
ResultPage();
}
else {
EntryPage();
}
exit;

EntryPage()のフォームで読み込んだものをInputPage()で表示し、
その後、InputPage()でボタンを押すと、ResultPage()に移って表示
って感じなんです。
やっぱり表示されないです・・・
何かうまい方法ないですかねぇ
0169nobodyさん03/06/11 02:45ID:???
InputPageは確認画面なのか? Inputと名付けているから違うとは思うけど。。。
017015203/06/11 02:59ID:b6wCYV2G
>>169
InputPageは入力のページですよ。
名前を表示してその下に入力フォーム
0171nobodyさん03/06/11 03:00ID:???
>>166-167は試したのか
0172nobodyさん03/06/11 03:01ID:???
EntryPageも入力ページなんでしょう?なんで分けるの?
0173_03/06/11 03:03ID:???
http://homepage.mac.com/hiroyuki44/jaz02.html
0174nobodyさん03/06/11 03:04ID:???
うまい方法っていうよりうまくいかなくなるように書いてるからだろ
こんな初歩的なことで躓いてるようじゃ全部晒したほうが早いわ
0175nobodyさん03/06/11 03:09ID:???
>>152のInputPageは略したものだよね?まさかそのままじゃないよね?
もしそのままだったらフォームが(ry
017615203/06/11 03:10ID:b6wCYV2G
>>171
試しましたよー

>>172
分ける必要は無いんだけど、その方がわかりやすいかなーと思って

やっぱり、ひとつのページにまとめる事にしました。
ご迷惑をおかけしました。
考えてくださった方々ありがとうございました。
017715203/06/11 03:12ID:b6wCYV2G
>>174
あ、ごめんなさい、確かにその通りなんですが・・・

>>175
そりゃ略したものですよ(w
0178nobodyさん03/06/11 03:13ID:???
>>158
Cコンパイラを用意するとはどういう意味ですか?
0179nobodyさん03/06/11 03:20ID:???
>>178
関係ないから気にするな
0180nobodyさん03/06/11 03:20ID:???
>>178
そのままの意味。
perlccはPerlのソースをCのソースに変換するものだから、実行可能なものにするためにはCコンパイラが必要。
一連の処理をまとめてやってくれるから(実はPerlスクリプトやバッチファイルだったりする)Perlのソースを直接実行可能な形式にしているようにみえるけど。
Windowsの場合はVC++6.0ならOKだった。他のコンパイラは試していない。
0181nobodyさん03/06/11 03:28ID:???
>>180
VCはあります。
そのあとどうすればいいかわかりません。
0182nobodyさん03/06/11 03:30ID:???
>>181
perlccのあるディレクトリを環境変数PATHに追加してperlccを実行するだけ。
0183nobodyさん03/06/11 03:39ID:???
>vcvars32
>perlcc hello.pl
>a.exe
Hello World.
0184nobodyさん03/06/11 06:42ID:u2aqyjyI
解決せぬまま、朝になってしまいました。
すみません、一つ質問させてください。

HTMLファイル内のアンカータグで指定されているURLを全てエンコードして返すコードを書きましたが、どうも思う
ように動いてくれません。問題のコードは下記となっております。
-----------------------------------------------------
while(<FH>){
  if($_ =~ /\<a.*?href.*?\=.*?\>/ig){
    my $tmp = $_;
    while($tmp =~ /(.*\<a.*?href.*?\=)(.*?)(\>.*?)(\<|\n)/ig){
      my $tmp1 = $1; my $tmp3 = $3;
      my $tmp2 = main::url_encode($2);#エンコードルーチン
      $tmp2 =~ s/\%20//g; $tmp2 =~ s/\%22/\"/g;
      $index_file .= $tmp1 . $tmp2 . $tmp3;
    }
  }
  else{
    $index_file .= $_;
  }
}
-----------------------------------------------------
1行に2つ以上のアンカータグがあった場合を考えてwhileを使用しておりますが、その部分の正規表現に問題が
あるというところまでわかっていながら、全く前進せぬまま朝になってしまいました。情けないです。
ここの正規表現の区切りとなるものが曖昧なことから、うまく認識してくれず、整形後のHTMLファイルがおかしく
なってしまっているのだと思われます。

もし宜しければ、教えてください。
すみませんが宜しくお願いいたします。
0185nobodyさん03/06/11 07:22ID:???
>>184
正規表現道場@2ch Part2
http://pc2.2ch.net/test/read.cgi/php/1038146241/432-n

このへんでグダグダやっているようだが
0186nobodyさん03/06/11 11:58ID:???
foreach (@tmp) {

}
と、
for ($i=0;i<=$#tmp;$i++){

}
って、何が違うのでしょうか?
0187nobodyさん03/06/11 12:20ID:???
>186
前者は@tmpの中身を順番に参照する。
後者は0から$#tmpまで$iがカウントアップしていく。

前者は数字とは限らないが、後者は確実に数字。
0188nobodyさん03/06/11 12:47ID:???
unlink(<tmp*>);
したら、
glob failed (child exited with status 127) at index.cgi line 863.
といわれてしまったのですが、
どうすればいいのでしょう?
glob関数は使ってないはずなのですが・・・
0189nobodyさん03/06/11 12:48ID:???
>>187
ありがとうございます。やっとわかりました(情けない
0190nobodyさん03/06/11 13:16ID:???
>>188
<tmp*> <- ファイル名glob演算子
なんでエラーになるかは知らない。
0191nobodyさん03/06/11 16:26ID:???
文字列のパターンマッチした部分を別の変数に代入する
スマートな方法はありませんか?
今はこんなやり方をしてるんですけど…

$_="0123aa456789";
m/([a-z]+)/;
$str = $1;
0192nobodyさん03/06/11 16:31ID:???
>>191
$_="0123aa456789";
s/([a-z]+)/$str = $1/e;
0193nobodyさん03/06/11 16:40ID:Gw/QAyIn
$_="0123aa456789";
($str) = /([a-z]+)/;
0194 03/06/11 17:17ID:???
perlをレンタルサーバーと同じバージョンにしたいのですが、
winの5.004_01が入手できるところをご存じないでしょうか?
0195_03/06/11 17:19ID:???
http://homepage.mac.com/hiroyuki44/hankaku05.html
019619403/06/11 18:07ID:???
自分で解決しました、失礼しました。
0197nobodyさん03/06/11 18:08ID:???
>>194
スレ違い&winの5.004_01は存在しない&同じにしても意味なし
0198nobodyさん03/06/11 19:14ID:???
Perlのバージョンよりも、OSを同じにしたほうがいいかもね。
処理系依存の関数ってけっこうあるし。
0199nobodyさん03/06/11 20:11ID:fefOLsV8
1通のメールに、普通のメールの内容とHTMLメールの内容を一緒に入れて
送れる(どっちを表示するかはメーラーがきめる)と聞いたのですが
sendmailにどういう風に渡したらいいんでしょうか?
Content-Type: multipart/alternative;を使うらしいとこまでは
わかったんですが…
(プログラムを動かそうとしているサーバには、モジュールは入れられないみたいです)

どなたか御存じの方がいらっしゃったら、よろしくおねがいします。
0200nobodyさん03/06/11 20:13ID:???
>>199
スレ違いですので、お引き取りください。
0201nobodyさん03/06/11 20:16ID:???
$b ="$aいうえお";
$a = "あ";
print $b;

このとき、当然ですが「いうえお」しか表示されません。
「あいうえお」と表示したい場合はどうすればいいですか?
$aを$bの前に持ってくるというのはナシで。置換しかないですかね?
0202YUIS03/06/11 20:28ID:oL0No0ho
「2chからきました」ってコメントに書いたら値引きしちゃうよ(^_^)v
↓↓↓
 http://www.dvd-yuis.com/
0203nobodyさん03/06/11 20:35ID:???
>201
print eval($b);

$aや$bにコマンドを入れられてたら、かなり危険な状態になるのであまりお勧めできない。
0204_03/06/11 20:44ID:???
http://homepage.mac.com/hiroyuki44/hankaku03.html
0205nobodyさん03/06/11 21:02ID:OIUswXrq
レスありがとうございます。

print eval($b);
↑何も表示されない。
print eval{$b};
↑「いうえお」しか表示されない。

アルェー?
0206nobodyさん03/06/11 21:09ID:???
>205
すまん。
俺の記憶違いだった。
0207nobodyさん03/06/11 21:25ID:???
$b ='"${a}いうえお"';
$a = "あ";
print eval($b);
0208nobodyさん03/06/11 21:33ID:OIUswXrq
>>207
できた!
シングルクォートで囲まないといけないんですね。
サンクス。

>>206さんもありがとうがざいました。
0209_03/06/11 21:35ID:???
http://homepage.mac.com/hiroyuki44/jaz04.html
0210nobodyさん03/06/11 21:38ID:???
>>208
シングルクォートじゃなくても良いけど$bの内容が「""」とか「qq!!」と文字列リテラルとしてエバれるようになってりゃいい。
0211nobodyさん03/06/11 23:03ID:???
>>201

$b ='"(split(/<>/))[0]いうえお"';
print eval($b);

だと
いうえおと表示されます。
(split(/<>/))[0]にはある文字列がはいっています。
0212nobodyさん03/06/11 23:26ID:???
>211
evalがどういう働きをするものか勉強しなおしてください。
あなたの期待している通りにならない事がわかります。
021318803/06/11 23:39ID:???
>>190
ありがとうございます。なるほど。
ところで、こういう場合、考えられる原因ってなんでしょうか・・・?
いちお、「tmp*」のパーミッションは666にしてます。
0214nobodyさん03/06/11 23:56ID:???
>>213
こういう場合って?直してもだめだったの?
0215nobodyさん03/06/12 00:07ID:???
複数の画像を一度にアップするCGIを製作しています。
フォームから
<input type="file"〜(以下略
と言う風に入力してもらいcgiでcgi-libを使用してデコード、とまでは
できたのですが、どのようにして拡張子を取得するべきか・・・

複数のファイルをアップロードする場合、どのようにして拡張子を取得するのでしょうか?
(今現在、プログラムが手元にないのであまり詳しく状況を書けなくて申し訳ありません。)
0216nobodyさん03/06/12 00:33ID:???
>>215
スレ違いですので、お引き取りください。
0217nobodyさん03/06/12 00:35ID:???
>>215
もちろんヘッダから
0218君のBodyはNobody03/06/12 01:23ID:???
すみません、初心者なんですが教えてください。

Webでアンケートを作成し、その結果をCSVファイルにしました。
それをWindowsマシンにダウンロードして、Excelで開くと
日本語部分が文字化けをしてしまいます。

一応、SJISコードに変換してからCSVを作成しているのですが...
やり方として、根本的なことを分かっていないがために
何か間違っているような気がします。

恐れ入りますが対処方法を教えてください。
0219sage03/06/12 01:30ID:SEaNTt27
>>218
どのようにSJISに変換している?
0220nobodyさん03/06/12 01:31ID:???
http://homepage.mac.com/hiroyuki44/hankaku08.html
0221nobodyさん03/06/12 01:31ID:WFfieXIn
Perlって読みにくくてやっぱ、Rubyのようがいいよ ねぇ、
0222nobodyさん03/06/12 01:37ID:???
sjis変換にperlを使ってなかったら、どこもperlの話題ではないな
0223君のBodyはNobody03/06/12 01:38ID:???
>>219
こういう説明で十分なのか不安なのですが
&jcode'convert(*form,'sjis');
というようなコードを使っています。
0224nobodyさん03/06/12 01:57ID:???
コーティングの話ではないんですが、ちょっと玄人の方にアンケート取ります。
ちなみに俺は素人さんです。

・腹の立つほど複雑な処理を数日考えて作りました。
・記述の量はかなり多いです。
・強引に作ったので処理はめちゃめちゃで見れた物じゃないです。
・多分半年後の自分は、解読出来ません。
・さらに、メンテしにくくバグが出たら大変そうな仕組みです。
・ついでにデータファイル(txt)の書き換えもめんどくさそうです。

しかし!
上記のダメダメな処理が出来た直後に。。。
もっと効率が良くて、見やすくて、メンテしやすくて、スマートな処理を思いつきました。

・でも、ハッキリ言って書き換えるのめんどいです。
・データ(txt)も全部書き換えです。
・データの書き換えも含むと1日では出来なさそうです。
・しかも苦労して作ったダメの処理を破棄するのは抵抗があります。

普通はそんな時どうするんですか?
ダメな処理を強引に使いますか?
プログラムは苦労するものなのだと割り切って作り直しますか?
多分、処理は使い捨てではなく、ちょくちょく直しながらそれなりに使うと思います。

・そこら辺の常識を玄人さんに聞きたいです。
0225nobodyさん03/06/12 01:58ID:???
おい、そこのロンドンブーツ!
0226nobodyさん03/06/12 02:03ID:???
まず、データの書き換えをするプログラムを作るな
0227君のBodyはNobody03/06/12 02:15ID:???
>>219
ちなみに、Print文で空のファイルに書き込みをしています。
print FILE $data;
みたいにです。
0228nobodyさん03/06/12 02:17ID:???
>>224
たった数日で出来るものを「かなり多い」というな。
0229nobodyさん03/06/12 02:34ID:???
>>224
良いと思う処理方法が見つかったなら、ソースは書き換えるべき。
データファイルは、Perlで新しいフォーマットに書き換えるスクリプトを作ればいい。

俺は、そうしてる。
いや、そうするべき。
0230nobodyさん03/06/12 02:49ID:???
分かりました。
スパッと気分を変えて書き直したいと思います。
って言うか、もう始めてます。
綺麗な記述&処理のほうが後々イライラせずにすみそうだし。。。

データはperlに直接埋め込む方式に変更したので書き換えスクリプトは作れなさそうです。
まったく変な構造を持ったデータでして…。

では、ありがとうございました。
0231nobodyさん03/06/12 03:08ID:???
>>230
頑張れFIGHT (^○^)//Ω\\(^○^)ドンドコドンドコ
0232nobodyさん03/06/12 03:47ID:???
スクリプトでそのスクリプトを書き換える進化型のプログラムでも
作ったのかい?

ま、書きかえってのはそのうちやらないといけない時がくるわな。
■ このスレッドは過去ログ倉庫に格納されています