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

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

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

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

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

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

過去ログやお勧めサイトは >>2-10
0039nobodyさん05/01/30 12:47:06ID:???
>>36
CGIの中には日本語を一切書かない。
HTMLの類はすべて外部ファイルに。
これで解決。
0040nobodyさん05/01/30 13:02:28ID:0daQX9sH
>>36
nkfでShift-JISに変換してしまっては?
test.cgiをまた編集したくなったらnkfでEUCに。
ちょっと面倒だけど。
0041nobodyさん05/01/30 13:39:39ID:???
>29-34を読んで、気になったのでお聞きしたいのですが、
--------------------------------------------------
#@ip_listは下記のようなリストです。
@ip_list = ('333.139.141.','333.20.117.','333.255.29.');#という感じ

$addr = $ENV{'REMOTE_ADDR'};
foreach (@ip_list){
  if ($addr =~ /^$_/){
    $flag = 1;
  last;
  }
}
--------------------------------------------------
これで一応うまくいっていたので、これまで何も考えて無かったのですが、
これは「.」が正規表現のメタ文字で「任意の1文字」なためにたまたまうまくいってただけで、
  if ($addr =~ /^$_/)
は
  if ($addr =~ /^\Q$_\E/)
とした方がいいのでしょうか?
0042nobodyさん05/01/30 14:09:44ID:???
>>41
アホ。
$_内にピリオド等のメタ文字が入っていてもメタ文字評価されるわけないだろ。
0043nobodyさん05/01/30 14:16:22ID:???
>>42
おまいがアホ。されるっつーの。
0044nobodyさん05/01/30 15:12:44ID:???
>>41
yes.
今まではたまたまうまくいってただけ。
エスケープしたほうがいいな。
0045nobodyさん05/01/30 15:21:23ID:nMKi12Lv
マッチする相手が正しいipアドレスならば
パターンの「.」の部分が数字にマッチするよう
だとたいていはアドレスの中の「.」がパターン
の中の数字の位置に来るような気がするので
かなり必然に近い偶然とはいえるな。

しかしだから大丈夫だということを証明しようと
がんばるよりは素直にエスケープしとけ。
0046nobodyさん05/01/30 15:22:07ID:???
>>41
これでもOK。
@ip_list = map{ quotemeta } ('333.139.141.','333.20.117.','333.255.29.');
00474105/01/30 17:48:45ID:???
みなさん、どうもありがとうございました。
考えてみたら、
if ($addr =~ /^333\.139\.141\./)
ひとつだけの場合だったらこうやってエスケープして書いているのに、
リストの要素ひとつひとつとの比較の場合はエスケープしてないっておかしいですよね。
ちゃんとエスケープ処理をするよう気をつけたいと思います。

>46さん
map関数調べてみました。
こういう便利な関数もあるんですね。たいへん勉強になりました。
0048nobodyさん05/01/30 18:36:05ID:60wlVefX
質問です。

|ddddddd|momddomo|aaaaaaaaaa|
|wwwwwww|fddddddd|ssssssssss|
|eeeeeee|pppppppp|rrrrrrrrrr|

'|'を区切りとしてテーブルタグに変換させる正規表現
を作れる人いませんか?

どうか宜しくお願い射ます
0049nobodyさん05/01/30 18:59:58ID:???
>>48
何を「どのように」変換したいのかをはっきりさせてから↓で聞いてください。

正規表現道場@2ch Part4
http://pc5.2ch.net/test/read.cgi/php/1105930285/
0050未承諾広告※ ◆TWARamEjuA 05/01/30 19:09:18ID:???
そもそも'333'で始まるIPアドレスって存在するの?
0051nobodyさん05/01/30 19:10:45ID:???
ただの例だろ
0052未承諾広告※ ◆TWARamEjuA 05/01/30 22:08:02ID:???
ですよね(苦笑)
でも、一致しないときは全部サーチしなきゃだから、やっぱりハシュに入れちゃった方が効率よさそうですね。
0053nobodyさん05/01/31 17:52:56ID:sSr/NKoB
Perl であるシンボリックリンクを調べて、リンク先のファイルのフルパスを
知りたいのですが、どう書けばよいのでしょう?

system で、ls -l した結果を切り貼りすれば、とりあえずできそうなのですが、
もう少し何か方法がありそうな気がしまして。
0054nobodyさん05/01/31 18:04:55ID:???
>>43
マジかよ!?
何でそんなセキュリティホール量産体制を作っちゃうのよ?
ユーザが送ってきた文字列を正規表現に使う前にサニタイジングしないと
いけないなんて面倒じゃないか?

っていうか何のメリットがあってそんな仕様なんだ?
0055nobodyさん05/01/31 18:10:49ID:???
perl=CGIと思い込んでる奴がまた一人
0056nobodyさん05/01/31 19:58:07ID:???
>>53
readlink
0057nobodyさん05/01/31 20:39:27ID:8ZuDaXBy
みなさまへ
「/ほげほげ」という文字を消したいんですよ。
$line =~ s|/ほげほげ||g;
↑で消えないんですが、どうしてって気持ちです。
「ほげほげ」だけなら↓で消えるのですが。「/」←コイツ(全角)が消えないのです。
$line =~ s|ほげほげ||g;
どうしてご存じかいませんか?


0058nobodyさん05/01/31 20:40:18ID:8ZuDaXBy
↑日本語になってないぞ。自己っす。
0059nobodyさん05/01/31 20:44:59ID:???
$line =~ s\Q/ほげほげ\E||g;
か?
0060nobodyさん05/01/31 20:46:01ID:???
$line =~ s|\Q/ほげほげ\E||g;
こうだったか…orz
0061nobodyさん05/01/31 20:56:16ID:???
>>57
別の話になるが、マッチするしないは見た通りと一致しないこともある。
暇があったらこういうのも読んでおくといい。
http://homepage1.nifty.com/nomenclator/perl/shiftjis.htm
0062nobodyさん05/01/31 20:58:15ID:???
↑あ、なった!
ありがとう・・・・・
(>_<)
今日一日はずっとこれ考えてました。
早くココで聞けばよかった…
0063nobodyさん05/01/31 21:02:00ID:8ZuDaXBy
全角の「/」も、それなりの仕事をしていると、今日初めて知りました。。。
今まで、全角はずっと文字あつかいでした。
0064nobodyさん05/01/31 21:23:56ID:???
>>54
>っていうか何のメリットがあってそんな仕様なんだ?

多分、\Q と \E をタイプする程度のことに文句を言うユーザを
排除しようとしたんじゃないかな。
0065nobodyさん05/01/31 21:52:09ID:ZqzhsiuT
>>63
SJISで書いただけじゃねーの?

「/」は815eだから正規表現のメタ
文字の「^」を含むので。

use encodengする場合除いてSJISで
スクリプト書くとはまるからやめた
方がいいと思う。
0066nobodyさん05/02/01 01:04:11ID:???
$| = 1;
プログラムの冒頭に書いてあるこれはどういう意味でしょうか。
0067nobodyさん05/02/01 01:09:11ID:ViOttCyf
>>66
perlvar(1)よめ
0068nobodyさん05/02/01 09:48:19ID:???
my ($a,$b) = qw/1 2 3 4 5/;

こういう場合って345はどこへいくんですか?
テストしたら$a==1,$b==2でしたので、$bの中身が後続で上書きされ続ける
ような動作はしないことを確認しました。

メソッドからの返り血が複数で合った時に受け取り側ではリストを用意さえすれば
リストの数が合わなくても前列のみが必要な時は通用するんですね。
0069nobodyさん05/02/01 10:42:01ID:???
>>68
捨てられるだけ。ラクダ本3版の「2.8.1リスト代入」を読むことをお勧めする。
0070nobodyさん05/02/01 12:10:16ID:???
>>68
別に前列だけじゃなくてもいいし
0071nobodyさん05/02/01 12:36:12ID:???
皆さんはリスト返す関数の途中の値がいらないときは

($x, undef, $y) = foo();

と

($x, $y) = (foo())[0,2];

のどっち使いますか?

私は拾う値が少ないときは後者、捨てる値が少ないときは前者で
ビミョーなときはなんとなく気分で使い分けなんですが。
0072nobodyさん05/02/01 12:57:50ID:???
2 が最後の値だ、ということは第三者には分からないし、
最後が 2 番目だという保証もないので前者でしょ。

0073nobodyさん05/02/01 12:59:01ID:???
後者しか使わんな
0074nobodyさん05/02/01 14:57:15ID:HcuaG0Ew
Shift_JISのマルチバイト文字列を正確にURIエスケープしたいんですが
Perlメモにある

$str =~ s/(\W)/'%' . unpack('H2', $1)/eg;

このスクリプトはeucを前提にしてるようですが
Shift_JISでは間違った置換をする可能性がありますか?

基本的には大丈夫なような気がするんですが;
一応まだ間違う瞬間を見つけれてませんし・・・
不安なので宜しくお願いしますm(_ _)m
0075nobodyさん05/02/01 15:29:34ID:???
SJISの1バイト目だけがエスケープされて2バイト目(たまたま\wと一致)はそのまま
というケースが多数出てきそう

実用上は支障なさそうだが
はたしてそれって「正確にURIエスケープ」したと言ってよいものなのか?
00767405/02/01 15:49:54ID:HcuaG0Ew
>>75
やはりそういうことが起きるのですかorz
Shift_JISの文字列を正確にURIエスケープするのは無理なのでしょうか?

>実用上は支障なさそうだが
・・・?
あ、もしかしてエスケープする時点でバイトの途中で区切られても大抵の
アンエスケープ処理後に何の問題も起こらないということですか?

それならうれしいのですが・・・・
0077nobodyさん05/02/01 16:20:20ID:???
>>76
EUC前提とは書いてあるが、Shift_JISやUTF-8でも全然問題ない。気にするな。
00787405/02/01 17:25:29ID:HcuaG0Ew
>>77
それなら安心です。
ありがとうございましたm(_ _)m
0079nobodyさん05/02/01 18:36:33ID:???
Shift_JIS って限定するなら、ちゃんと場合分けでやればいいんじゃねーの? とも思うが。
ひとつ前の文字が [\x81-\x9f\xe0-\xfc] の範囲なら [\x40-\x7e] も置換する、とか。
0080nobodyさん05/02/01 19:20:22ID:???
perlを使い背景に画像を持ってきたいんですがうまくいきません。
backgroundでは駄目なんでしょうか?
0081nobodyさん05/02/01 19:22:07ID:???
perlを使い魚沼産コシヒカリを炊いたのですが美味くありません。
evianでは駄目なんでしょうか?
0082nobodyさん05/02/01 20:59:16ID:???
ってかマルチ
0083nobodyさん05/02/01 23:18:19ID:???
1, 10歳の消防
2, 真性の馬鹿
3, 実はインド人だ
0084nobodyさん05/02/02 00:09:28ID:hjWjou/0
はじめまして。perl初心者です
今gazou.cgiの直下にgazouフォルダがあり中にはn個のjpg画像があります。
これをgazou.cgiが呼ばれたら、jpg画像があるだけ(n個)htmlで出力したいのですが
どう書いたらいいのでしょうか?ちなみに10個ごとに改行を入れたいのですが、そういうことは可能なのでしょうか?

もしよろしければご教授ください。
0085nobodyさん05/02/02 01:14:46ID:???
>>84
あるディレクトリに入っているjpgファイルの一覧ページを作りたいのなら可能。
自分でできるだけのことをやって、行き詰まってからまたおいで。
0086nobodyさん05/02/02 01:42:57ID:???
今日からperlでCGI作るどーって意気込んだはいいけどapacheの設定が難しくて
4時間かけてやっとhello.cgiを動かした俺。

てめぇらなんかに負けるものかぁぁぁぁぁぁぁぁぁてかハラヘッタァァァ
0087nobodyさん05/02/02 01:51:38ID:???
>>86
スレ違いなので他でほざけ
00888405/02/02 03:00:32ID:hjWjou/0
#!/usr/bin/perl
require './jcode.pl';
$dir = "./img/";
$title = "画像リンク";

opendir DIR, $dir;
@files = grep { !m/^(\.|\.\.|Thumbs\.db)$/g } readdir DIR;
close DIR;

if ( @files ) { &htmlheader;
exit;}

sub htmlheader {
$GAZOU = "画像";
$p= <<"HTML";
<HTML><HEAD><TITLE>$title</TITLE></HEAD><BODY>
HTML
&jcode'convert(*p,'sjis');
&jcode'convert(*GAZOU,'sjis');
print "Content-type: text/html\n\n";
print $p;
foreach $a (@files){
$a =~ s/\.jpg//g;
print "<a href=$dir$a>$GAZOU</a><br>";
}
print "</body></html>";
}
>>84ですが一応あるディレクトリに入っているn個のjpgファイルへのリンク集を作ることはできました。上の汚いソースがそれです。
ですがたとえば10個ごとに改行を入れることや、100個ごとにべつのファイルを作成といったことはできるのでしょうか?
見当がつかなくここの先輩方にご教授いただけたら幸いです。
0089nobodyさん05/02/02 03:47:54ID:???
foreachのどこかに、毎回+1される変数用意。
後は、条件分岐でごにょごにょと指定するだけ。
0090nobodyさん05/02/02 08:38:32ID:???
ほれ、改行だけ入れてやったぞ

#!/usr/bin/perl
$w=10;
print join"\n",'Content-Type: text/html','','<table>',map('<tr><td>'.
join('</td><td>',@$_).'</td></tr>',do{$otakara[$i/$w][$i++%$w]=
qq{<img width="80">}while<img/*.jpg>;@otakara}),'</table>';
0091nobodyさん05/02/02 09:28:59ID:???
@arrayの最後の要素を参照したいんですが、下記の方法で大丈夫ですか?

@array[-1]

確か以前にマイナス値を与えると逆から数えると読んだのですが、今探しても
そのソースが見つからないのでお願いします。
一応動作はうまくいってますが、@array[$#array]とは違う働きをする瞬間が
存在したら怖いので賢者に聞きにきました。
0092nobodyさん05/02/02 11:16:14ID:???
>>91
http://www.kt.rim.or.jp/~kbk/perl5.005/perldata.html#Variable_names
http://www.kt.rim.or.jp/~kbk/perl5.005/perlfaq4.html#What_is_the_difference_between_
http://www.kt.rim.or.jp/~kbk/perl5.005/perltrap.html#General_data_type_traps
00939105/02/02 11:25:02ID:???
-1で検索しても該当箇所が見つかりません・・・・・・

私が思っているほど-1についての動作は単純じゃないんでしょうかorz
00948405/02/02 11:27:46ID:???
>>89
ありがとうございます。これからいろいろ試してみたいと思います。
>>90
わざわざコードをかいてもらって本当ありがとうございます。
これから解読しつつ試してみたいと思います。
0095nobodyさん05/02/02 11:44:33ID:???
>>93
ちゃんと読みなよ。日本語で書いてあるんだから。
0096nobodyさん05/02/02 13:11:44ID:???
(Arrays)
配列の添え字が負であったとき、それは配列の終端から数えられるようになりました。


@a = (1, 2, 3, 4, 5);
print "The third element of the array is $a[3] also expressed as $a[-2] \n";


# perl4 の出力: The third element of the array is 4 also expressed as
# perl5 の出力: The third element of the array is 4 also expressed as 4


つまりPerl5からは-1と$#arrayは同じ作用をするってこった。
まあ巷のPerlはほぼ5だから気にせず使えよバカ。
0097nobodyさん05/02/02 16:36:20ID:43fDDoaT
素朴な疑問なのですがよろしいでしょうか?
foreachなどのループ文を書くときによく何回目のループかを知りたくて
my $i = 0;
foreach.....$i++;.....

のようにして$iを使用しますよね。
これはきっと昔から使われている手法だと思います。
でもちょっと面倒ですよね。

そこで思ったのですが、何故にデフォルトで何回目のループかを専用の特殊変数
に代入するような仕様にならないのでしょうか?

例えば
@+R
などを作って内側から1つ目のループが何回目かを調べる時は
$+R[0]
で、こういう感じで実装してあると結構便利だと思います。

まあ何故に仕様がこうであるかはここで言ってもしょうがないですし、
素人の脳みそでは理解できない事情があるのかもしれません。

こういう特集変数めいたものを自分で作ることは可能でしょうか?
例えばhogeモジュールをuseすれば自動的にそういう特殊変数が作成されるような。

しょうもないことですがあると便利だと思うんですよね。
0098nobodyさん05/02/02 16:45:17ID:???
必ず使うとも限らないのにそんな実装してパフォーマンス落とすなんて・・・
0099nobodyさん05/02/02 17:06:51ID:???
>>97
for(my $i = 0; $i < @array; $i++){
# ...
}
0100nobodyさん05/02/02 17:08:08ID:???
>>97
whileのループならあるよ
01019705/02/02 17:39:48ID:43fDDoaT
>>98
パフォーマンスの問題でしたか。
そうですよね;
>>99
for以外のループ文でも使えないと・・・・・
それに汚いですよね。
>>100
どういうことですか?whileだけ特殊変数が用意されてるんですか?
ちょっと特殊変数一覧見直してみますm(_ \)m
0102nobodyさん05/02/02 17:43:18ID:???
>>97
何が面倒なのかわからないんだが
0103nobodyさん05/02/02 18:09:14ID:???
そういうループをするためにfor文があるんじゃないのか。
01048405/02/02 21:19:40ID:???
84ですが皆様のおかげで目的のものが一応出来ました。ありがとうございました。
0105nobodyさん05/02/03 01:49:12ID:???
rename関数を使ったファイルロックを考えています
#施錠
$try=3;
while(! rename('off.loc','on.loc')){
 if(--$try <= 0){die;}
sleep(1);
}
#解錠
rename('on.loc','off.loc')

ただ、これでは施錠してから解錠する間にプロセスが逝った時施錠されたままになってしまいますが、
そこで、最後にrenameした時間を求めるにはどうすればよいのでしょうか
0106nobodyさん05/02/03 03:31:38ID:???
>>105
http://www.din.or.jp/~ohzaki/perl.htm#File_Lock
0107nobodyさん05/02/03 13:38:41ID:???
しかしたかがロックをいちいち書くのめんどくさいよな。
cpan検索するとないわけではなくて結構たくさん出て来
るんだがどれがいいんだかよくわからん。

でもhttpで何かゲットというとLWP使えって速攻で返って
くるのに、ロックだとそういうの見たことないし、実は
どれもあまりよくないというオチだろうか?


0108nobodyさん05/02/03 14:34:08ID:???
>>107
まぁ99%はflockを使ってるだろうからな。
0109nobodyさん05/02/04 03:38:45ID:???
そのflockが環境によっては動かなかったりするからだろ。
0110nobodyさん05/02/04 12:26:33ID:O0itZOq3
>103
では配列を取り出し名がらやるにはどうやるんですか?
0111nobodyさん05/02/04 12:47:46ID:???
>>110
@array = (1,2,3,4,5);

for ($i=0; $i<=$#array; $i++) {
 print $array[$i];
}
0112nobodyさん05/02/04 13:42:59ID:???
>>109
きょうび、flockが動かないサーバーなんてあるか?

flockの仕様がやや使いづらい、というのなら分かるがな。
そういう意味ではPerlメモで紹介しているmkdirによるlockを使うことも十分あり得る。
0113nobodyさん05/02/04 18:09:07ID:???
指定したweb上のファイルを取得して、上書き保存したいんですが
以下のように書いても動きませんでした。
何が間違ってるか教えてください。

#!/usr/local/bin/perl

require 'extlib/LWP/Simple.pm';

use LWP::Simple;
$doc = get('http://www.xxx.com/xxx/test.html');
$filename = "./data/test.html";
open( FH , ">$filename" );
print FH $doc;
close( FH );
exit( );

__END__
0114nobodyさん05/02/04 18:22:12ID:???
>>113
何がどう動かなかったのか。
0115nobodyさん05/02/04 18:51:19ID:???
>>113
require 'extlib/LWP/Simple.pm';

と書く芸風ははじめてみたがそれは置いといて、

$doc = get('http://www.xxx.com/xxx/test.html');
defined $doc or die "cannot get";

と

open( FH , ">$filename" ) or die "cannot open: $!";

ぐらいはしろよ。どこでだめになったかさっぱりわからんだろ。

0116nobodyさん05/02/04 20:43:55ID:???
どうせまた500エラーに頼ってんだろうよ
0117nobodyさん05/02/04 20:51:29ID:3semSWSA
質問させて下さい。
Web板の内容でしたらすいません。

print "<SELECT NAME=\"nenrei\">\n";
print "<OPTION VALUE=\"10\">10\n";
print "<OPTION VALUE=\"20\">20\n";
print "<OPTION VALUE=\"30\">30\n";
print "</SELECT>\n";

と表示させ、事前にselectedで選択させるのではなく、後から変数の値
を参照し、変数値が10だったら10を、20だったら20を、30だったら30を
選択した状態にしたいのですが、良い方法はないでしょうか?
0118nobodyさん05/02/04 20:54:33ID:???
>>117
選択状態にするには、次のようにselected を付ける。
<option value="value" selected>
0119nobodyさん05/02/04 21:02:51ID:???
>>118
いや、>>117は動的にselectedを付けたいと言う
0120nobodyさん05/02/04 21:03:46ID:???
>>117
条件分岐して selected 付きprintしたりしなかったりしたりしなかったりしたりしなかったりしたりしなかったり…
すればいいんじゃないの?
0121nobodyさん05/02/04 21:05:00ID:???
$hoge{$hensuu} = " selected";

print qq{<OPTION VALUE="10"$hoge{10}>10\n};
以下略

"をエスケープするのは個人的に好きじゃない
0122nobodyさん05/02/04 21:07:13ID:???
for (1..10) {
    print qq|<option value="$_"|;
    print qq| selected| if $str eq $_;
    print qq|>$_</option>\n|;
}

こうかな?
0123nobodyさん05/02/04 21:09:50ID:???
>>121
print qq{<OPTION VALUE="10"$hoge{$hensuu}>10\n};
じゃないの?
0124nobodyさん05/02/04 21:11:59ID:???
申し訳ありませんが質問させて下さい

cgiの入力フォームで送信ボタンを押した後など
ブラウザでリロードを行うと同じ処理が繰り返し行われてしまいます

そのせいで、例えばリストの中の2番目のデータを削除していた場合
リロードの度に新しく2番目となったデータが削除されていってしまうのですが
こういった場合に、ある程度経験のある方は
どのようなやり方で解決しているのかお伺いしたいのですm(__)m
0125nobodyさん05/02/04 21:15:56ID:2GvnZ25o
>>124
2chの書き込み後の処理をまねてみるとか。。
0126nobodyさん05/02/04 21:22:44ID:MsfARYCJ
>>124
refreshを使いなさいという事です。
頑張って下さい。
0127nobodyさん05/02/04 21:25:30ID:???
>>113
require 'extlib/LWP/Simple.pm';

と書く不思議コーディングはははじめてみたがそれは置いといて、

dataディレクトリがないだろ。
0128nobodyさん05/02/04 22:19:37ID:???
>>124
1.locationやrefreshで飛ばしてブラウザにGETメソッドを記憶させる。
2.最後の投稿を記録しておいて、二重投稿(この場合削除)をチェック。
3.削除する前に確認画面を出す。
4.固有の番号指定で削除するようにする。
012912405/02/04 22:21:56ID:???
>125
2chの書き込み後の処理というのは、やはり入力フォームと表示部を分けるということでしょうか
確かにそれが一番いいのかもしれませんね
でもできればフォームと一体型で、根本的な解決方法がないものか気になるのでもう少しこのまま頑張ってみます
ありがとうございましたm(__)m

>126
refleshというものがあるのですね
これから検索をして勉強してみたいと思います
ありがとうございましたm(__)m
013012405/02/04 22:25:16ID:???
>128
おお、具体的な方法を4つも教えて頂いて本当に感謝です
1番目の方法だけまだ勉強不足で分からないので、いろいろ試してどの方法が一番いいか考えてみます
本当にありがとうございましたm(__)m
0131nobodyさん05/02/04 22:57:25ID:???
送信ボタンを押した後に画面を偏移させないの?
そういえばどこかの掲示板の作者がサポートの質問で
で二重投稿になるのは仕様だとバカみたいなこと平気で言ってたな
0132nobodyさん05/02/05 00:13:26ID:???
>128
1はよく使われるけど、ボタンの2度押しは防げないよね。
手軽で便利なんだけど。
0133nobodyさん05/02/05 00:21:40ID:KAYC+D6O
入力フォームでセッションID食わせて先着1名様有効が
確実じゃないかと。
0134nobodyさん05/02/05 01:11:51ID:???
二次元配列の中身をテーブルにして出そうと思ったんですが・・・

$tbl[0][0] = "00";
$tbl[0][1] = "01";
$tbl[1][0] = "10";
$tbl[1][1] = "11";

print "<TABLE BORDER=1>\n";
foreach $value (@tbl) {
 print " <TR>\n";
 foreach $value2 (@value) {
  print "  <TD>$value2</TD>\n";
 }
 print " </TR>\n";
}
print "</TABLE>\n";

何もでてきません
何がだめなんでしょうか?誰か教えてください・・・
0135nobodyさん05/02/05 01:21:27ID:???
>>134
まずperl 二次元配列で調べてみ。
0136nobodyさん05/02/05 01:44:54ID:???
>>134
二次元の読み出し方も間違っているが仮に読み出せたとして
$valueはどこで使われてるのよ?
表示させる@valueっていったい何よ?
0137nobodyさん05/02/05 02:21:14ID:???
まぁスカラーと配列は別の領域なわけだが。
0138nobodyさん05/02/05 02:28:27ID:???
そもそも必要があって二次元にしてるのかさえ疑わしい
013913705/02/05 02:41:32ID:???
>>134
サンプルコード書いたけど、いくらで買う?
■ このスレッドは過去ログ倉庫に格納されています