くだすれPerl(超初心者用)2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/03/03(月) 05:07:32ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Perl使いが優しくコメントを返しますが、
お礼はPerlの布教と初心者の救済をお願いします。
0575nobodyさん
2008/08/23(土) 00:20:11ID:???0576573
2008/08/23(土) 00:45:43ID:???元の >>571 の質問に関する話題は perlfaq7 の "How can I use a variable as a variable name?" で詳しく触れられています。
さらに、リファレンスについては perlreftut, perlref の両ドキュメントに、また多次元配列及びハッシュについて perllol に、もっと詳しい話が載っています。
ぜひ見てみてください。
0577nobodyさん
2008/08/23(土) 00:49:36ID:???はい表示が「ほしのあき」になりましたってやかましいんじゃ、というお話だから
そんなに難しいことじゃないよ。
>>573
何か疲れてませんか。
0578573
2008/08/23(土) 00:56:40ID:???分かりやすい素敵な説明ありがとうございます。
# 認めたくないものだな……、昨日未明まで客先でトラブっててロクに寝ないまま一日働いた後だということを……。
0580nobodyさん
2008/08/23(土) 16:45:17ID:???%hash{'$hensu'} = (
'AA' => 'AA',
'BB' => 1,
'CC' => 65,
'DD' => 1200
);
のようにリストで代入することはできないのでしょうか、
perllolをみたんですけど多くの数を一度に代入する方法について載ってないような、
0581nobodyさん
2008/08/23(土) 18:49:15ID:???「多次元ハッシュ」などと事実とことなる認識の仕方を
しているから、3秒考えればわかることを思いつけないんだ。
0582nobodyさん
2008/08/23(土) 19:14:49ID:???0583nobodyさん
2008/08/24(日) 13:25:05ID:abdzrOGO環境はMac OS X 10.5.4, Perl 5.8.8です。
CPANでXML::Atomをインストールしたいのですが、
make testの段階で以下のようにFailedになっている箇所があって
インストールできません
| t/00-compile...........ok
| t/01-util..............ok
| t/02-content...........ok 1/32
| # Failed test in t/02-content.t at line 57.
| # got: 'My name is 宮川.'
| # expected: 'My name is 宮川.'
| t/02-content...........NOK 22# Looks like you failed 1 test of 32.
| t/02-content...........dubious
| Test returned status 1 (wstat 256, 0x100)
| DIED. FAILED test 22
02-contentというファイルで実際にテストしているっぽい部分は以下のようになっていました
| $content->body("My name is \xe5\xae\xae\xe5\xb7\x9d.");
| is $content->mode, 'xml';
| is $content->body, "My name is \xe5\xae\xae\xe5\xb7\x9d.";
「\xe5\xae\xae\xe5\xb7\x9d」を「宮川」という漢字として
出力できていないのが原因っぽい気がするのですが。。
解決の方向性だけでもご教示いただけると助かります。
よろしくお願いします。
0584583
2008/08/24(日) 13:32:45ID:abdzrOGO意図した通り表示されなかったのですが、
実際は以下のようにgot:〜の行には文字コード(?)、
expected:〜の行には「宮川」という漢字が表示される状態です。
| # got: 'My name is \xe5\xae\xae\xe5\xb7\x9d..'
| # expected: 'My name is 宮川.'
0585583
2008/08/24(日) 13:37:07ID:???以下のような出力でした。実際は&が半角です。
| # got: 'My name is 宮川.'
| # expected: 'My name is 宮川.'
0586nobodyさん
2008/08/24(日) 14:07:58ID:???で、\xe5\xae\xae\xe5\xb7\x9dは、UTF-8で「宮川」だ
何が知りたいんだっけ?
0587nobodyさん
2008/08/24(日) 16:23:03ID:???0588nobodyさん
2008/08/24(日) 20:05:54ID:???なんちゃら…
}
とやったら、Range iterator outside integer range と叱られました。
桁デカ杉なんでしょうか。どうすればいいですか?(><)
0589nobodyさん
2008/08/24(日) 20:12:58ID:???$content->mode は xml で合っていて、
$content->body は (x|x?ht)ml の文字参照に置き換えられている状態ですね。
その動作でかまわなければ、
t/02-content.pl 内の、
is $content->body, "My name is \xe5\xae\xae\xe5\xb7\x9d.";
を以下に変更すればそのテストに関しては通ると思われます。
is $content->body, "My name is 宮川.";
その動作ではまずい場合は、モジュール内の関連コードをいじるしかないかなあ。
0590nobodyさん
2008/08/24(日) 20:15:09ID:???0591nobodyさん
2008/08/24(日) 20:27:10ID:???ありがとうございます!
ググったら分かる人が分かる人向けに書いたドキュメントしかみつかりません(><)
もう少しググって諦めます。
0592nobodyさん
2008/08/24(日) 20:29:59ID:???0593590
2008/08/24(日) 20:43:08ID:???5.8.0 から導入された bigint プラグマを使う方法もある。遅いがちゃんと動く。
use bigint;
# あとは何も考えずに書くだけ。
# さすがにこれならおまえでもやれる。がんばれ。
# 遅いので部分的に無効にしたい場合
{
no bigint;
# bigint じゃなくてもいい処理
}
0594nobodyさん
2008/08/24(日) 20:57:43ID:???use bigint;
for (2000000000000000..3000000000000000) {
なんちゃら…
}
!Range iterator outside integer range at…
ActivePerl 5.8.8 Build 822 (><)あーーー
0595nobodyさん
2008/08/24(日) 21:22:25ID:???マルチ乙。
>>594
こう書くしかないんじゃ?
for (my $i = 2000000000000000; $i <= 3000000000000000; $i++) {
つかなんで、くだすれに質問してんだか。
0596583
2008/08/24(日) 21:22:33ID:???レスありがとうございます。
わかりにくくて申し訳ないです。
状況としては本来「宮川」と表示されるべき文字列が、
HTMLの文字参照に置き換えられて「&#x5BAE;&#x5DDD;」となっているので
make testでひっかかっているという状況でした。
>>589
ありがとうございますー。
話がわかっていただけて嬉しいです。エスパーですね。
私も先程なんとか文字参照に置き換えられているのに気付いて
モジュールのソースとにらめっこしたんですが
それらしい部分を見つけられず。。
…と思ったら、libxml2のバージョンが古いと
非ASCII文字が強制的に文字参照に変換されてしまうらしいです。
MacPortsで新しいバージョンのlibxml2を入れたら解決しました!
いろいろとありがとうございましたー。
0597use bigintの人
2008/08/24(日) 21:32:12ID:???エラーがでなくなりました!
>>593
親切に本当にどうもありがとう!!
0599nobodyさん
2008/08/24(日) 22:08:03ID:???>>590
perldoc perldiag
> Range iterator outside integer range
> (F) One (or both) of the numeric arguments to the range operator ".." are outside the range
> which can be represented by integers internally. (snip
use Math::BigInt;
my $num = Math::BigInt->new('2000000000000000');
my $addone = $num + "1";
for ($num .. $addone) { sleep 1 }
Range iterator outside integer range at - line 4.
0600nobodyさん
2008/08/24(日) 22:58:52ID:???system q|cls|;
use bigint;
use Win32::Sound;
$|=1;
#----------------------------------
for (my $i = 2000000000000000; $i <= 3000000000000000; $i++) {
say "$i";
Win32::Sound::Play("file.wav");
}
↑こりゃーおもろい
0601590
2008/08/24(日) 23:16:40ID:???おお。そゆことだったんですね。
さらに、
> One possible workaround is to force Perl to use magical string increment
> by prepending "0" to your numbers.
ということは…、
for ('02000000000000000'..'03000000000000000') {}
おおぅ、これで動作したよおい。^^;
0602nobodyさん
2008/08/24(日) 23:35:23ID:???0603nobodyさん
2008/08/25(月) 09:43:11ID:???use open IO => ":encoding(cp932)";
binmode STDIN => ":encoding(cp932)";
binmode STDOUT => ":encoding(cp932)";
binmode STDERR => ":encoding(cp932)";
use Encode;
use feature qw( :5.10 );
for (my $a=10000;$a>=1;$a=$a-1){
system q|cls|;
say "お前の寿命はあと".$a."秒";
}
0604nobodyさん
2008/09/01(月) 10:36:16ID:???<a href="file:///C:/Kudasure/Kudasure.pl?http://pc11.2ch.net/test/read.cgi/php/1204488452/">[Kudasurepl]</a>
とやってWebブラウザからKudasure.plを呼んでいるのですが、
?以降の文字列を取得する事が出来ません。
$ARGV[0]には入ってないし…。
うまく受け取る方法を教えてください。
0605↑ 補足です
2008/09/01(月) 10:38:05ID:???Webサーバ等は起動していません。
0606nobodyさん
2008/09/01(月) 10:48:50ID:???0607604
2008/09/01(月) 11:04:42ID:???Webサーバを常駐させたくないんです。
他にKudasure.plに文字列を渡す方法があれば教えてください。
Kudasure.pl自体は動作してます。
0608nobodyさん
2008/09/01(月) 11:22:08ID:???perl Kudasure.pl "http://pc11.2ch.net/test/read.cgi/php/1204488452/"
みたいな感じでいいんじゃないの?
0609604
2008/09/01(月) 11:43:44ID:???やりたい事はまさにそれなんですが、URLのリストが沢山あって
それを保存してます。htmlなら一覧を見られて1クリックで実行できます。
0611604
2008/09/01(月) 12:25:44ID:???リストのどれがクリックされるか分からないので
html生成時にバッチファイルを作成できません。
0612nobodyさん
2008/09/01(月) 12:26:20ID:???直接実行できたら問題あるだろjk
0613nobodyさん
2008/09/01(月) 12:31:30ID:???0615604
2008/09/01(月) 12:43:12ID:???Perlスクリプトの実行自体はfx3で問題なくできてます。
Webサーバはインストールしてありますが、
ツールのために常時起動させたくなくて質問しました。
直リン、ワンクリックで使えると便利なので。
しかし、出来ないと分かって諦めがつきました。
クリップボードで渡してみる事にします。
0616nobodyさん
2008/09/01(月) 12:49:42ID:???0617nobodyさん
2008/09/01(月) 14:21:02ID:???うちだけ?
0619nobodyさん
2008/09/01(月) 14:43:08ID:???0620nobodyさん
2008/09/02(火) 10:14:49ID:???0621nobodyさん
2008/09/03(水) 22:14:02ID:Mtq7kJsd===ソースコード===
1 #!/usr/bin/perl
2
3 $IP_addr = $ENV{REMOTE_ADDR};
4
5 if ($count = open(OUT, ">>List.dat")) {
6 flock OUT, 2;
7 print OUT $IP_addr;
8 flock OUT, 8;
9 close OUT;
10 } else {
11 $count = 100;
12 }
13
14 print "Content-type: text/html\n\n";
15 print "IPアドレス:", $ENV{REMOTE_ADDR}, "<br>";
16 print '$count = ', $count;
これを実行してみると、ファイルが開けずに$count=100が表示されてしまいます。
同じフォルダ内でopen関数は使えたので、できそうな感じはするのですができません。
どこを書き直したら、IPアドレスを記録してくれるのか教えてもらえないでしょうか。
お願いします。
0622nobodyさん
2008/09/03(水) 22:49:00ID:???List.datを作成ならそのディレクトリに実行権と書き込み権があるかどうか
0623621
2008/09/03(水) 23:04:45ID:Mtq7kJsdアドバイスありがとうございます。
解決しました・・・。
/var/www/htmlに上のスクリプトを置いてあるのですが、
/var/www/htmlとスクリプトのパーミッションは777なので、
書き込み権限はあると思います。
後はスクリプトのほうでファイルを作成してくれるのかと思いましたが、
作成されていなかったのですが、
List.datを用意してあげたら問題なく書き込めました。
open (OUT, ">>List.dat")の追加書き込みでは、ファイルがなければ作成する、と
手元の参考書に書いてあったのですが何が原因だったのでしょう・・・。
0624nobodyさん
2008/09/03(水) 23:16:56ID:???この場合、スクリプト自身のパーミッションは関係しません。
List.dat を置くディレクトリのパーミッションが重要です。
0626nobodyさん
2008/09/03(水) 23:24:17ID:???わかってしまえばこの手のことに悩まなくなるよ
0627nobodyさん
2008/09/04(木) 00:02:51ID:???ここで $count にどんな値が入るという想定になってるんだろ。
0628nobodyさん
2008/09/04(木) 18:42:58ID:???下ろしcpan モジュール名としたところ
Alert: While trying to 'parse' YAML file
'D:\Perl\cpan\FTPstats.yml'
with 'YAML::XS' the following error was encountered:
Usage: YAML::XS::LibYAML::Load(yaml_str) at D:\Perl\lib/YAML/XS.pm line 70.
というエラーらしきものがでて先に進むことがができません。他に何か必要
なのでしょうか?
0629nobodyさん
2008/09/04(木) 19:11:10ID:???0630nobodyさん
2008/09/04(木) 20:01:44ID:???0632627
2008/09/05(金) 01:45:29ID:???> Open returns nonzero upon success, the undefined value otherwise.
> If the open involved a pipe, the return value happens to be the pid of the subprocess.
こういう値を「$count に代入して表示」するコード(>>621)に疑問を持ったんだけど、読み足りない?
穴が開くほどは読んでない。
0633nobodyさん
2008/09/05(金) 01:56:39ID:???じゃあ通りすがりのおれが特別に教えてやるよ
>>621はIPアドレスを記録するのが目的で、$countは制御がどこに移ったかを確認するためだけのもの
ま、if文で必ず真偽が代入されるからelseは余計だけどな
0634627
2008/09/05(金) 02:41:42ID:???特別に教えてくれてありがとう。「else なら 100」用ということで。
$is_success ぐらいのほうが似合うぞぐらいの気持ちで書いたもんに
>>631が来るとは思わなかった。
0635631
2008/09/05(金) 02:53:49ID:???失礼した。カルシウム足りないらしい。
ブールで済む話ならむしろ代入は要らんし、
>>621 程度の処理なら or die でも事足りるところを、
あえて表示用に拾ってるなら >>633 ってことだね。
0636nobodyさん
2008/09/05(金) 10:58:48ID:???ActivePerl 5.10 で Mail::IMAPClient を使って、Gmail に接続。
未読メールの添付ファイルを取ってくる……というスクリプトを書いているのですが、
取ってきた添付ファイルが軒並み破損してしまっており、正常なものが取得できません。
具体的にどんな感じになるのかというと、
PDF = ファイルが壊れている、と出て開けない。
JPG = 画像の下の方がブロックノイズ(最後までデータができていないっぽい)
HTM = ファイルの最後の方で途切れてしまう。
TXT = ファイル末尾に謎の文字化け。(=ェ��攵モ]スクラmエ輜オラ ←こんなのが。なんだこりゃ。)
となります。
ソースは >>637 に貼ります。
どのようにしたら、正常なファイルを取得することができるのか教えていただけないでしょうか?
0637nobodyさん
2008/09/05(金) 11:00:04ID:???use MIME::Parser;
use Mail::IMAPClient;
use IO::Socket::SSL;
my $parser = new MIME::Parser;
$parser->output_to_core(1);
my $socket = IO::Socket::SSL->new(PeerAddr => 'imap.gmail.com',PeerPort => 993) or die "socket(): $@";
my $client = Mail::IMAPClient->new(Socket => $socket, User => 'user', Password => 'password') or die "new(): $@";
if ( $client->IsAuthenticated() ){
$client->select('INBOX');
my @uid = $client->unseen;
foreach my $id (@uid) {
my $message = $client->message_string($id) or warn "Timeout!";
my $entity = $parser->parse_data($message);
my $header = $entity->head;
if ( $entity->is_multipart ){
my $parts_count = $entity->parts;
for (my $i = 1; $i < $parts_count; $i++) {
my $part_entity = $entity->parts($i);
my $filename = $part_entity->head->recommended_filename;
my $filebody = $part_entity->bodyhandle->as_string;
open(FILE, ">$filename");
print FILE $filebody;
close(FILE);
}
}
}
}
0638nobodyさん
2008/09/05(金) 11:24:52ID:???超初心者用スレで質問する内容じゃないと思うけど。。。
テキストファイルも化けてるから解決にはならないと思うけど、binmodeはしたほうがいい
0639636
2008/09/05(金) 11:54:09ID:???他に質問スレが見あたらなかったもので……スミマセン。
binmode も試している(先のソースじゃ消えてしまってました)のですが、やはり同様です。
ただ、binmode にしないと JPG ファイルは読み込みすらできなくなります。
ここでかれこれ数時間詰まっちゃってますヽ(´Д`;)ノ
0642nobodyさん
2008/09/05(金) 18:25:42ID:???> どのようにしたら、正常なファイルを取得することができるのか教えていただけないでしょうか?
デバッグして問題点を見つけ出し、そこを修正すれば良い。
0643nobodyさん
2008/09/05(金) 18:44:30ID:???0644636
2008/09/05(金) 18:59:17ID:???>>641
添付無しのメール、本文を抜き取る分には問題ないみたいです。
ただ添付ファイルを拾おうとすると、前述のとおりに問題が出てしまいます。
>>643
MIME::Parser の使い方がどこかおかしいでしょうか。初めて使うモジュールなもので……。
0645nobodyさん
2008/09/05(金) 19:07:30ID:???> 添付無しのメール、本文を抜き取る分には問題ないみたいです。
> ただ添付ファイルを拾おうとすると、前述のとおりに問題が出てしまいます。
じゃあ、問題ないメールをgmailを通さずに直接パーザに食わせて見ろ。
0646nobodyさん
2008/09/05(金) 20:40:32ID:???おおお、いけました!
Mail::IMAPClient の message_to_file で一度ファイルに保存してから、
MIME::Parser で処理したら正常にファイルを取得することができました。
公開されてるモジュールでこんなこともあるんですね。勉強になりました。
0647nobodyさん
2008/09/05(金) 20:51:35ID:???品質が高いから公開されているのじゃあない。
公開してフィードバックを活かすから品質が上がるのだ。
# CPAN でもマイナーモジュールの中にはソースがアレなのもたくさんあるのよ。
解決おめでとう。
現象を David にレポートして、そのサイクルに貢献するのも一興。
0648nobodyさん
2008/09/07(日) 20:34:27ID:???現在コミュニティーサイトGaccoで有志を募集しています。
詳しい概要等は
→http://www36.atwiki.jp/vipvipschool/
こちらをご覧下さい。
・プログラミングができる方
(現在技術陣は6名です)
・ウェブデザイン・画像編集能力がある方
(現在デザイン陣は2名です)
・宣伝能力のある方
(人員募集やサイト完成後の宣伝等。動画編集ができると○。)
を募集しています。
気軽にIRCに参加、またはsuteあっと2ch.bona.jpまでメールを下さい。
スレッド:ttp://ex14.vip2ch.com/test/read.cgi/news4gep/1219068297/l50
0649nobodyさん
2008/09/11(木) 04:32:33ID:Fj1BKArt複数の行からなる配列を特定の行で行ったソートと同じ順に並び変えたいのですがうまくいきません。
例として下の@hairetu1を昇順にソートして、それと同じソートを他の4つの配列にも施したいです。
@hairetu1=[30,80,50,90]
@hairetu2=[3,8,5,9]
@hairetu3=[さん,はち,ご,きゅう]
@hairetu4=[a,b,c,d]
@hairetu5=[3305,2206,1600,1128]
↑を↓の様にソートしたいのです。
@hairetu1=[90,80,50,30]
@hairetu2=[9,8,5,3]
@hairetu3=[きゅう,はち,ご,さん]
@hairetu4=[d,b,c,a]
@hairetu5=[1128,2206,1600,3305]
みなさんは複行配列のソートはどうされているのでしょうか
お教えいただけませんでしょうか。どつぼにはまっています。
0650nobodyさん
2008/09/11(木) 05:12:08ID:???$b <=> $a −−−>小さくなる順番だから、「降順」
用語はこれで合ってる?
0651nobodyさん
2008/09/11(木) 05:13:02ID:???これってどういうルールで並び替えたのかよくわからない。
単に間違い?
0652nobodyさん
2008/09/11(木) 05:15:25ID:???↑これってそのままだと無理だよね?
まず、数字ではないから、数値ソートは使えない。
文字列ソートはできるが、それって単に
アスキーの順番に並び替えるだけだから。
だから、どうしてもというなら、ハッシュで
3→さん
8→はち
9→きゅう
みたいな対応表を作っておいて、それで
3,8,9を数値ソートする、という風にしないと
だめなんじゃないかな。
0653nobodyさん
2008/09/11(木) 08:44:59ID:???perlでHello worldと文字列を出力したいのですが表示されません
perlはc:\perlにはいってて、perl.exeはbinの中にあります
どのように書き直したら文字列を出力できますでしょうか?
#!/c:\perl\bin\perl.exe
print "<html><head><title>テストperl</title></head><body>";
print "Hello world\n";
print "</body></html>";
0654nobodyさん
2008/09/11(木) 09:24:19ID:???0655nobodyさん
2008/09/11(木) 09:32:03ID:???#!C:/Perl/bin/perl.exe
print "<html><head><title>テストperl</title></head><body>";
print "Hello world\n";
print "</body></html>";
をtest.plと保存して、
http://hoge/test.pl
をアクセスしてみろ。
0656nobodyさん
2008/09/11(木) 10:01:19ID:???0657nobodyさん
2008/09/11(木) 10:20:26ID:???0658nobodyさん
2008/09/11(木) 10:55:26ID:???用途に向いたデータ構造に変更しましょう。
> @hairetu1=[30,80,50,90]
もし本当にこうだとすると、以下と等価であり、
少々不自然で扱いづらいでしょう。
@hairetu1 = ( [30,80,50,90] );
# @hairetu1 は $hairetu1[0] に無名配列リファレンスを持つ、
# 1要素のみの配列になっている点に注意。
以下は一例です。
@hairetu = (
[qw( 30 3 a 3305 さん )],
[qw( 80 8 b 2206 はち )],
[qw( 50 5 c 1128 ご )],
[qw( 90 9 d 1128 きゅう )],
);
あとは値を比較した結果を使って @hairetu の要素を入れ換える操作を行えばおっけー。
その辺の操作は調べると見つかるのでがんばって。
0660nobodyさん
2008/09/11(木) 11:05:32ID:???0661nobodyさん
2008/09/11(木) 11:07:57ID:n+/h4em7いつまでクソ言語にしがみついてんだよテメエらwwwww
いま時代はRuby,php,pythonだろwwww
乗り遅れ乙wwwww
うぇっwwうぇwww時代に乗れなくてくやしいのうwwくやしいのうwwwwww
0662nobodyさん
2008/09/11(木) 11:13:08ID:???my @hairetu1=(30,80,50,90);
my @hairetu2=(3,8,5,9);
my @hairetu3=qw/さん はち ご きゅう/;
my @hairetu4=qw/a b c d/;
my @hairetu5=(3305,2206,1600,1128);
my @array;
for (0..4) {
push @array, join(',', $hairetu1[$_], $hairetu2[$_], $hairetu3[$_], $hairetu4[$_], $hairetu5[$_]);
}
@array = sort { $b cmp $a } @array; # <=> かもしれないけどなんとなく cmp
print join("\n", @array); # この順にしたいんですよね
Excel みたいな「行と列」を思い浮かべながら @hairetu1, 略, @hairetu5 で
再現しようとするからどつぼなんだと思う。
0663nobodyさん
2008/09/11(木) 12:05:15ID:???my @hairetu2 = (3,8,5,9);
my @hairetu3 = ('さん','はち','ご','きゅう');
my @hairetu4 = qw(a b c d);
my @hairetu5 = (3305,2206,1600,1128);
my @narabi = sort{$hairetu1[$b] <=> $hairetu1[$a]} (0..$#hairetu1);
foreach(\@hairetu1, \@hairetu2, \@hairetu3, \@hairetu4, \@hairetu5){
@{$_} = @{$_}[@narabi];
}
--
my @hairetu = ([30,3,'さん','a',3305], [80,8,'はち','b',2206],[50,5,'ご','c',1600], [90,9,'きゅう','d',1128]);
@hairetu = sort{$b->[0] <=> $a->[0]} @hairetu;
普通はこっち。
0664nobodyさん
2008/09/11(木) 12:05:27ID:???思いつくのか理解出来ん。データ構造が腐ってるってのを置いとくにしても、、、
my @ind = sort { $hairetu1[$b] <=> $hairetu1[$a] } 0 .. 3 ;
@hairetu1 = map{ $hairetu1[$_] } @ind ;
@hairetu2 = map{ $hairetu2[$_] } @ind ;
# 略
@hairetu5 = map{ $hairetu5[$_] } @ind ;
ちなみに自分でデータ構造から考えるなら二次元配列かhashにするに決ってる、こんなもん。
0666649
2008/09/11(木) 14:32:27ID:MBV8c4KU今から皆さんが教えてくれたのを全部試してやってみます。
つか自分超絶初心者です。。。
いいプログラム作れる様がんばります。
0667nobodyさん
2008/09/11(木) 14:59:42ID:???0668662
2008/09/11(木) 15:35:31ID:???俺ですね。
他の配列のソート順でgdgdしてたので、質問者さんがわかりそうな道具で
「こういう感覚ですかね?」と書こうとした(ものがアレすぎたのでお怒りになった)んですけど
寝とけばよかったです。0 .. 4 とか書いてるし。
くだすれなのに「腐ってる」「こんなもん」なんてことになってるのも、その怒りの余波だと思うので
質問者さん、すみません。
0669nobodyさん
2008/09/11(木) 18:40:06ID:h0fBdZdnコードを読んでいると$hoge[2]とかいうのはわかるんですが、
$hoge[1][0][0]=3;
$hoge[1][0][1]=5;
$hoge[1][0][2]=7;
とかいうのが出てきたんですが、これは何を意味しているんでしょうか?
0672nobodyさん
2008/09/11(木) 18:51:22ID:???0673669
2008/09/11(木) 19:14:29ID:h0fBdZdnところで、
$hoge[1][0][0]=3;
$hoge[1][0][1]=5;
$hoge[1][0][2]=7;
の場合、
@hoge=( [ [*,*,*], [*,*,*], [*,*,*] ], [ [3,5,7], [*,*,*], [*,*,*] ], …)という感じでしょうか?
だとしたら、この3,5,7だけを
@list=(3,5,7)の様にひとつの配列にするにはどうすれば良いでしょうか。
何度もすいません。
0674nobodyさん
2008/09/11(木) 19:16:46ID:???■ このスレッドは過去ログ倉庫に格納されています