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

Perlコーディング初心者質問スレ Part 46

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/01/18(水) 02:17:46ID:???
Perlのコーディングで困ってる人のスレです。

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

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

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

過去ログやお勧めサイトは >>2-10
0666nobodyさん2006/02/14(火) 17:31:14ID:???
>>665
サンプルコードなどで適当に変数名をつけるときに使う
英語ではfooやbarが使われるのでfoo,barについてはrfcにもなっている

ほげ学のサイトがあるので探してみ
0667nobodyさん2006/02/14(火) 18:13:45ID:???
>664
つ【アクセスログ】
0668nobodyさん2006/02/14(火) 18:19:24ID:???
>>664
本当にやりたいことは違ってたりしない?
二重投稿を防ぎたいとかそういうことだったりしない?
0669nobodyさん2006/02/14(火) 19:20:22ID:???
>>663
つ~ /\x81-\xff/
0670nobodyさん2006/02/14(火) 21:32:00ID:???
たまには頭使ってみようかな・・・
コントロールコードを拒否したければ
\x0-\x1f の範囲でオケなのかな?
0671nobodyさん2006/02/14(火) 22:37:15ID:mb5R1R6v
すいません質問させてください
Perlで作ったおみくじCGIをサイトに置いたんですが
わたしのサイトに来てくださる人の携帯(DoCoMo)では動作しないって言われました
それでわたしも携帯で動作を確認するとやっぱり動きませんでした
PCでは問題なく動作するのですが携帯向けには何かしなければならないのでしょうか?
>>8-で紹介されているサイト様も見てみたんですが書いてありません
詰まってしまいました
どなたか原因が分かりますでしょうか?
0672nobodyさん2006/02/14(火) 22:52:06ID:???
>>671
http://pc8.2ch.net/test/read.cgi/tech/1138519327/395
レスもらってるんだから、調べてからにして下さい。
動作しない、だけでは解決のしようがありません。
0673nobodyさん2006/02/14(火) 23:13:17ID:mb5R1R6v
>>672
すいません、そこにもないです

それからレスはhttp://pc8.2ch.net/test/read.cgi/tech/1138519327/395
で誘導されたので気づきませんでした
0674nobodyさん2006/02/14(火) 23:20:59ID:???
>673
誘導してもらってるのに、全然読んでないことだけは分かった。
シュミレータで確認汁。
それと、動かないだけじゃわかりません。
0675nobodyさん2006/02/15(水) 00:01:00ID:???
× シュミレート
○ シミュレート

ここもゆとりんぐ全開かwww
0676nobodyさん2006/02/15(水) 00:02:40ID:TfAwMHcm
>>674
名前を入力してもらいボタンを押すと運勢が出るという
おみくじCGIでPOSTメソッドです
携帯だとボタンが押せない状態なんです

0677nobodyさん2006/02/15(水) 00:06:18ID:???
シュミレート の検索結果 約 58,200 件中 1 - 10 件目 (0.24 秒)
企業でも普通に使ってるみたいw
0678nobodyさん2006/02/15(水) 00:13:03ID:???
企業が使ってるから正解ではない
ゆとりんぐは勉強してろ
0679nobodyさん2006/02/15(水) 00:15:54ID:???
>>678
何事も楽しめ
0680nobodyさん2006/02/15(水) 00:19:54ID:???
(´-`)。oO(…skk で /simulate で変換すればいいのに…)
0681nobodyさん2006/02/15(水) 01:05:24ID:???
1skk=3,7yenだそうだ
06826642006/02/15(水) 01:44:50ID:AsKZTDBd
>667 668サンクス。本当にやりたいことは

a.cgiのボタンを押す->入力されたデータにエラーが無いかチェック

0.エラー -> a.cgi でエラー表示
1.エラーがない ->a.cgiでBingo表示

0の状態でF5押しまくってると1の画面が表示されてしまいます。
a.cgiで結果を表示させるのが、そもそもの間違いなのでしょうか?
06836642006/02/15(水) 01:57:37ID:???
このスレに要点を書いてみたら普通におかしいな>682

入力されたデータにエラーが無いかチェック

に内在バグがきっとあるに違いない。という方向でちょっとダイブしてきまつ。
0684nobodyさん2006/02/15(水) 03:37:26ID:???
つ チラシの裏
0685nobodyさん2006/02/15(水) 07:26:25ID:???
>>676
そういうのは実際のソース見ないとわからんよ
Javascript使ってる可能性も考えられるしね
0686nobodyさん2006/02/15(水) 10:29:13ID:???
>>669
それって、二バイト文字の1btyle目のコードですよね。
組み込んでみます。

ちなみにこういうのって一覧表のあるサイトってありますか?
今は、IMEパッドで見てるんですが、なんか微妙に異なるようですので。
0687nobodyさん2006/02/15(水) 11:13:19ID:???
>>686
漏れはいつもここを薦めている。変換則も(Cが少々読めれば)わかるし
ttp://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/kanjicod.html

UTF-8についてはRFCを読んで調べたけど解説しているサイト無いかな…
0688nobodyさん2006/02/15(水) 15:21:01ID:PmYHM0Bw
次の文でFormの値を取り込んでいるのですが、この処理を行った場合その後の処理は無視される理由が分かりません。
分かる方がおりましたら教えてください。

subloadFormdata{
 my ($query, $pair);
 read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
 print $query;
 foreach $pair (split(/&/, $query)) {
  my($key, $value) = split(/=/, $pair);
  $value =~ tr/+/ /;
  $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/chr(hex($1))/eg;
  $value = jcode::sjis($value);
  $value =~ s/&/&/g;
  $value =~ s/</</g;
  $value =~ s/>/>/g;
  $value =~ s/\x0D\x0A/<br>/g;
  $value =~ tr/\t/ /;
  $FORM{$key} = $value;
 }
}
-------------------------------------
たとえばメインルーチンで
print "ここは出力される";
loadFormdata();
print "ここは出力されない";
0689nobodyさん2006/02/15(水) 15:29:27ID:???
subloadFormdata || jcode::sjis 呼べない
0690nobodyさん2006/02/15(水) 16:11:29ID:RdFiluwL
>>685
ソースを見なきゃ分からんようなCONTENT_LENGTHのことだと
も気づかないアフォは発言すべきじゃないな。

>>686
~ /[\x81-\xff][\x40-\xff]/ ←これで全角全て拾える

0691nobodyさん2006/02/15(水) 16:42:00ID:???
>>690
DoCoMoはContent-lengthが必須なのは知ってるがボタンが押せないという表現が気になった
0692nobodyさん2006/02/15(水) 16:52:35ID:???
>691
だから、HTML見直せとiモードの解説サイト貼ってあるのにw
0693nobodyさん2006/02/15(水) 17:03:26ID:???
Content-Lengthは吐かなくても問題なく表示できる。
-1を吐いた場合ですら表示できる。
0694nobodyさん2006/02/15(水) 17:15:35ID:???
少なくとも Apache で CGI 経由なら、Content-Length ヘッダは
httpd が補完してくれるのでプログラム側で吐く必要は無い。
むしろ陽に吐いた方が、自動広告挿入などでサイズが変わる
場合に不具合の元となる。
0695nobodyさん2006/02/15(水) 17:50:41ID:???
>>693
表示は出来るが実行はできないだろ
0696nobodyさん2006/02/15(水) 18:27:23ID:???
>>694
> 少なくとも Apache で CGI 経由なら、Content-Length ヘッダはhttpd が補完してくれるので

ホント?
0697nobodyさん2006/02/15(水) 20:25:22ID:???
socketを使用してSSL通信を試みているのですが、下記のエラーで
はまってしまっております。

Bad Request
Hint: https://example.com:443/

ソースは下記で、HTTPでは正常接続の確認が取れました。
ご教示いただけますと幸いです。

use Socket;
my ($host, $filename, $data) = @_;
my $return_value;
my $port = 443;
my $iaddr = inet_aton("$host") or return 0;
my $sock_addr = pack_sockaddr_in($port,$iaddr);
socket(SOCKET,PF_INET,SOCK_STREAM,0) or return 0;
connect(SOCKET,$sock_addr) or return 0;
select(SOCKET);
$| = 1;
select(STDOUT);
my $len = length($data);
print SOCKET "POST /$filename HTTP/1.0\n";
print SOCKET "HOST: $host:$port\n";
print SOCKET "Content-Type: application/x-www-form-urlencoded\n";
print SOCKET "Content-length: $len\n\n";
print SOCKET "$data";
print SOCKET "\n";
while(<SOCKET>) {m/^\r\n$/ and last;}
while(<SOCKET>) {$return_value .= $_;}
close SOCKET;
return $return_value;
0698nobodyさん2006/02/15(水) 22:48:50ID:OyUmOolC
>>688
× subloadFormdata
○ sub loadFormdata
0699nobodyさん2006/02/15(水) 23:28:35ID:???
>>697
書き方はあってるみたいだけど、なんだろうね。
SocketがもしかしたらSSL通信に対応していないのかもしれない。
しかし確証はない
0700nobodyさん2006/02/15(水) 23:32:33ID:PmYHM0Bw
print $FORM{'hohehoge'};
とやるとフォームのデータが表示されるのですが、


$value = "hogehoge";
print $FORM{'$value'};

とやると何も表示されません。
hogehogeを変数にして、$FORM{'hohehoge'}と同じ内容のものが表示されるようにするにはどのようにしたらよいでしょうか
0701nobodyさんNGNG
× print $FORM{'$value'};
○ print $FORM{$value};
0702nobodyさん2006/02/15(水) 23:46:37ID:???
それか
print $FORM{"$value"};
だね。
07036972006/02/16(木) 00:29:46ID:???
>>699さん
ご返答有難うございます。
サーバを変えてみたのですが、やはり同じBad Requestが
返ってきてしまうというのが現状です。

もう少し頑張ってみます。
状況が変わり次第ご報告とさせていただきます。
07047002006/02/16(木) 00:43:41ID:P0dyMCan
あ、それでいけるんですね!
すいません。ハマってました^^;
ありがとうございました!
0705nobodyさん2006/02/16(木) 02:26:31ID:???
>>697
SocketでSSL通信やるなら自前で暗号化をやらなきゃならないが、そのコードはどこにあるのかね?
俺ならSocketでやるなんて大それたこと考えずに迷わずLWP。

>>699
わからないなら、それであってるとか、いい加減な回答しないで引っ込んでろよ。
0706nobodyさん2006/02/16(木) 12:37:14ID:ZVhjliSj
cgi-lib.plを使い
&ReadParse;
として、%inを多様しているスクリプトがあります。

これをCGI.pmへ変更したいのですが
$in{'name'}
 ↓
$q->param('name')
という変更をしないで$in{'name'}のまま使うには
どのような記述をすれば良いのでしょうか。

$incfnも利用しているので、こちらの対処方法もお願いします。
0707nobodyさん2006/02/16(木) 14:06:48ID:???
何で変更したいの?
cgi-libでいいじゃん。
君には十分だよ。
0708nobodyさん2006/02/16(木) 14:08:44ID:???
>>706
どこかにソースうpしてくれれば、対応してやるよ。
0709nobodyさん2006/02/16(木) 14:29:23ID:???
抽象的な質問で申し訳ないけど教えて欲しいっす。

言語切り替えが出来るように作ってあるページで、
フランス語なんかに言語を切り替えると文字化けして、その文字化けがタグを侵食したり
して表示が崩れたりします。フランス語やドイツ語を扱う時に注意する点ってどういうとこ
だか、誰かアドバイスもらえませんか?

ページは全部Perlで組んでます。
0710nobodyさん2006/02/16(木) 14:40:42ID:???
UTF-8人生で
0711nobodyさん2006/02/16(木) 19:00:13ID:???
index.html内で
<form action=aaa.cgi>
<input type=submit value=更新>
</form>
としているのですが、これだとボタンをクリックすると画面がaaa.cgiに移動してしまいます。
画面が一切変化しないでaaa.cgiを動かすにはどうすればよいでしょうか?
0712nobodyさん2006/02/16(木) 19:37:26ID:???
>>711
つ <form action="aaa.cgi" target="_blank">
0713nobodyさん2006/02/16(木) 20:02:38ID:???
>>711
Status: 204
07147112006/02/16(木) 20:32:43ID:???
レスありがとうございます。

>>712
別窓も開かない形にはできないでしょうか?
07157112006/02/16(木) 20:37:34ID:???
>>713

おぉ!できました!ありがとうございました。
0716nobodyさん2006/02/17(金) 00:28:06ID:???
>>706
perldoc CGIの「FETCHING THE PARAMETER LIST AS A HASH」という項目を読め。
07176762006/02/17(金) 00:50:26ID:LOkWB/9e
>>685
こんなソースです↓

if ($ENV{'REQUEST_METHOD'} eq "POST"){
read(STDIN, $post, $ENV{'CONTENT_LENGTH'});
}else{ $post = $ENV{'QUERY_STRING'};}

for (split(/&/, $post)){
($word, $value) = m/^(\w+)=(.*)$/;
$value =~ s/\+/ /g;
$value =~ s/%([0-9A-F]{2})/pack('C', $1)/egi;
$q{$word} = $value;}

print <<EOS;
"Content-Type: text/html; charset=Shift_JIS"

<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>たいとる</title>
</head><body>
〜略

PCでは大丈夫ですが携帯では表示はしても反応なしです
どなたかフォローお願いします
0718nobodyさん2006/02/17(金) 00:52:34ID:???
>>717
print <<EOS;
"Content-Type: text/html; charset=Shift_JIS"

これおかしくね?
何でダブルクォートが・・

つか略すな。そこも大事だ。
07196762006/02/17(金) 01:29:23ID:LOkWB/9e
>>718
>>705の下段
0720nobodyさん2006/02/17(金) 01:37:53ID:???
>>719
お前がゆうな。
0721nobodyさん2006/02/17(金) 01:42:50ID:???
>>719
シネ
0722nobodyさん2006/02/17(金) 01:49:09ID:???
>>718
お前はそれだけの情報で足りると思ってんのか?
エスパーさん向けだな。

つか>>719で萎えた。
名前の欄はちゃんと確認しようねボクちゃん。
0723nobodyさん2006/02/17(金) 01:59:20ID:???
おみくじCGIとか小学生でもやらねーよwwwwwwww
0724nobodyさん2006/02/17(金) 03:03:07ID:???
今 >>723 がいいこと言った
0725nobodyさん2006/02/17(金) 03:33:08ID:???
<title>676と愉快な仲間達</title>
0726nobodyさん2006/02/17(金) 03:36:38ID:???
>>718-725
悔しいのは分かるがContent-lengthも知らない香具師はとりあえず黙ってろ




最近アレだな、厨房っぽいのが常駐してんだな
0727nobodyさん2006/02/17(金) 03:44:28ID:???
>>726=>>676さんですかそうですか。

テメーさんも黙ってれば?
0728nobodyさん2006/02/17(金) 03:55:29ID:???
<title>ゆかいなどうぶつ</title>
0729nobodyさん2006/02/17(金) 03:57:25ID:???
>>727
構ってもらえなかったのが相当寂しかったんだよ。生暖かく見守ってあげようよ。
0730nobodyさん2006/02/17(金) 04:05:10ID:???
<title>みんな、学生さんかな?</title>
0731nobodyさん2006/02/17(金) 04:22:14ID:???
さすがWebProg板
07327062006/02/17(金) 04:51:48ID:RcUmmaVq
>>716
ありがとうございます。

use CGI;
CGI::ReadParse();
とすることで、%inをそのまま利用でき、$incfnも$inへ変更してファイル名が無事に取得できました。
ただ、マルチパートの画像を取り出すことができません。
open (OUTFILE,">>/usr/local/web/users/feedback");
 while ($bytesread=read($filename,$buffer,1024)) {
  print OUTFILE $buffer;
 }
close $filename;
としても0byteとなってしまいます。
今まで調べて試行錯誤してみましたが、どうにもなりませんでした。
どなたかアドバイスを頂けないでしょうか。
0733nobodyさん2006/02/17(金) 04:56:57ID:???
html の <form> タグがある行を書いてごらん
07347062006/02/17(金) 04:58:30ID:RcUmmaVq
>>733
<form action="./***.cgi" method="POST" ENCTYPE="multipart/form-data">
としております。
0735nobodyさん2006/02/17(金) 06:13:19ID:???
input radioでデータを取りたいんですが何故かデータが転送されないんです。
0736nobodyさん2006/02/17(金) 09:20:24ID:???
そうですか。
次からは独り言はチラシの裏にでも書いてね。
0737nobodyさんNGNG
>>735
ラジオボタンを選択してないとか。
0738nobodyさん2006/02/17(金) 12:39:23ID:???
>>732
$filenameの内容をどこから取得してるか明かせ。
多分、問題はそこ。
0739nobodyさん2006/02/17(金) 13:07:05ID:???
>>732
どうでもいいが
close OUTFILE;
とやってファイルハンドルをクローズじゃまいか
0740nobodyさん2006/02/17(金) 17:48:02ID:???
>739
よく気が付いたなw

ちゃんと閉じられてなかっただけっていうオチかな?

でも最後にちゃんと閉じられなくてもスクリプトが終われば閉じられると思ったし、ん〜なんだろ
0741nobodyさん2006/02/17(金) 17:51:12ID:???
つか $filename がどういった経緯でセットされてるか分からんので特務レベルエスパーじゃないと(;´Д`)
0742nobodyさん2006/02/17(金) 17:55:00ID:???
>>741
でもまあ $filename っていう変数名からして十中八九 read() の使い方間違えてるんだろうね。
0743nobodyさん2006/02/17(金) 17:57:35ID:???
もしかして
read("d:\test.txt", $readduff, 1024);
みたいな使い方を想像してるのかな?
0744nobodyさん2006/02/17(金) 21:15:59ID:???
LWPを使用しhttps接続まで試みたのですが、httpsのみ接続がうまくいきません。
Crypt-SSLeay-0.51はインストール済みでございます。

ソースは下記です。
ご教示いただけますと幸いです。

sub post_request{
use LWP::UserAgent;

my ($req_url, $data) = @_;

my $ua = LWP::UserAgent->new;

my $req = HTTP::Request->new(POST => $req_url);
$req->content_type('application/x-www-form-urlencoded');
$req->content($data);

my $res = $ua->request($req);

if($res->is_success){
return $res->as_string;
}
else{
return "";
}
}
0745nobodyさん2006/02/17(金) 21:36:53ID:???
なんで SSLeayを使わない
0746nobodyさん2006/02/17(金) 22:33:50ID:???
$textの中から「title」という文字を検索したいのですが
$tmp = index( $text , 'title' );としました。
しかし、「title」だけではなく「TITLE」という文字の可能性もあり
そちらも同時に検索したいのですが、良い方法はありますか?
0747nobodyさん2006/02/17(金) 22:38:03ID:???
>>745
SSLeayはインストールさえしておけばLWPが自動的に
使用してくれると仕様書に書いてありましたが、認識に
相違がございますでしょうか。
0748nobodyさん2006/02/17(金) 22:43:44ID:???
>>746
正規表現こそがPerlの華。
$text =~ /title/i
だけどこれじゃ位置を知ることはできないから、使える用途はやや限られる。
多くの場合位置を知らなくても処理できるんだけどね。
本当にそれが現れる位置を知りたいなら、先に小文字に合わせてしまうという手がある
$tmp = index( lc $text , 'title' );
0749nobodyさん2006/02/17(金) 22:52:04ID:???
>>748
下の方法で上手く行きました。
ありがとうございます。
0750nobodyさん2006/02/18(土) 00:16:59ID:???
>>748
http://search.cpan.org/~nwclark/perl-5.8.8/pod/perlfunc.pod#pos_SCALAR__

$text = 'foo title bar tiTle, baz titlE foo Title, bar TITLE baz title';
print uc substr($text, pos($text) - 9, 4) while $text =~ /title/gi;
0751nobodyさん2006/02/18(土) 00:19:21ID:???
>>748
@-でわかるよ。

% perl -e '$text="aaaTitle"; $text =~ /title/i; print $-[0];'
3
0752nobodyさん2006/02/18(土) 00:25:35ID:???
>>750-751
そんな機能が……精進します
0753nobodyさん2006/02/18(土) 02:12:59ID:Hc0+hkLt
携帯だと実行できません
なので携帯でも実行できるように改造おねがいします

if ($ENV{'REQUEST_METHOD'} eq "POST"){
read(STDIN, $post, $ENV{'CONTENT_LENGTH'});}
else{$post = $ENV{'QUERY_STRING'};}

for (split(/&/, $post)){
($word, $value) = m/^(\w+)=(.*)$/;
$value =~ s/\+/ /g;
$value =~ s/%([0-9A-F]{2})/pack('C', $1)/egi;
$q{$word} = $value;}

if ($q{'WORD'} ne ''){
for (split(/\r*\n+/, $q{'WORD'})){next unless /(.+)/;$word = $1;}
}

print <<EOS;
"Content-Type: text/html; charset=Shift_JIS"

<html><head>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>たいとる</title>
</head><body>
$word
<form method="POST">
<input type="SUBMIT" value=" テスト "><input type="text" name="WORD">
</form></body></html>
EOS
0754nobodyさん2006/02/18(土) 02:18:16ID:???
>>753
自分でやる気が無い人はスレ違い
http://pc8.2ch.net/test/read.cgi/php/1127916965/
0755nobodyさん2006/02/18(土) 02:20:21ID:???
>>753
おみくじCGIの方ですか

<form method="POST">

actionを指定しないと確かドコモじゃ実行できないんじゃなかったか。
つか普通に記述ミスだろ
0756nobodyさん2006/02/18(土) 02:56:52ID:Hc0+hkLt
>>755
記述忘れでした
ありがとうございました
0757nobodyさん2006/02/18(土) 05:25:34ID:???
まだおみくじやってんのか(;´Д`)
0758nobodyさん2006/02/18(土) 07:46:55ID:???
リスト1
1139355934
1139301779
1139325935
1139231627
1139409916
リスト2
1139231627
1139301779
1139355934
1139325935
のようにリスト1とリスト2があって、それぞれ$list1[連番]$list2[連番]のようになっています。
リスト1の上から順に読み込んで、読み込んだ内容がリスト2のどれかと一致したとき
$check[$list1の内容]を1にしたいと考えています。下のようにやってみましたがうまくいきませんでした。
どのようにしたら実現できるのでしょうか。ご教唆お願いします。
   $num=-1;
   until($list1dir_filenum==$num){
   $num++;
   print "$list1name[$num]\n";
      $list2num=-1;
      until($list2dir_filenum==$list2num){
      $list2num++;
      print "$list2name[$list2num]\n";
         if ($list1name[$num]eq$list2name[$list2num]){
         $val=$list1name[$num];
         $namecheck[$val]="1";
         }
      }
   }
0759nobodyさん2006/02/18(土) 08:16:20ID:???
>>758
一ついえることは
× 教唆
○ 教示
0760nobodyさん2006/02/18(土) 08:27:09ID:???
>>758
言ってる事とやってる事が違うような、、
07617582006/02/18(土) 08:29:29ID:???
>>759
すいません。goo辞書で確認してみたら自分が間違いでした。教示ですね。ありがとうございます。
で、質問のほうはどのようにしたらうまくいくのでしょうか。お願いします。
0762nobodyさん2006/02/18(土) 08:38:48ID:???
>>758
http://www.kt.rim.or.jp/~kbk/perl-5.8/perlfaq4.html#data__arrays

my @list1 = (0..9, 5..9);
my @list2 = (1, 5, 10, 10);
my %check;
{
  my(%saw1, %saw2, %count);
  # ++$count{$_} == 2 && ++$check{$_} for # 要素が多い時
  # %check = map ++$count{$_} == 2 ? ($_, 1) : (), # map で一気に
  %check = map +($_, 1), grep ++$count{$_} == 2, # 段階を踏んで
    grep(!$saw1{$_}++, @list1), # それぞれのリストが既に
    grep(!$saw2{$_}++, @list2), # ユニークなら必要無し
  ;
}
print map "$_\n", sort { $a <=> $b } keys %check;
0763nobodyさん2006/02/18(土) 08:39:26ID:???
確認してないけど、だいたいこんな感じかな?
for $i (0 .. $#list1){
$check[$i]= grep($list1[$i] eq $_, @list2);
}
0764nobodyさん2006/02/18(土) 08:42:47ID:???
>>758
> $check[$list1の内容]
早まるなっそんな馬鹿でかい数を配列の添え字に使ったら
すごい量のメモリが確保されるぞ
0765nobodyさん2006/02/18(土) 11:31:58ID:???
俺さあ、エルピーダの仕事してるんだよね。
世の中こういうヘボだらけになって、メモリをガンガン使って欲しい。
■ このスレッドは過去ログ倉庫に格納されています