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

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

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

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

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

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

過去ログやお勧めサイトは >>2-10
0362nobodyさん2006/08/08(火) 13:25:42ID:???
スレ違いてか板違いw web制作板へどうぞ。
そのままだとユーザビリティに反するので答えてくれないかもしれないが
0363nobodyさん2006/08/08(火) 14:21:20ID:???
>>361
>>362
板違いかorz web制作に行ってみるよ
0364nobodyさん2006/08/08(火) 23:25:32ID:???
perlのCGIでラジオボタンを使った登録フォームを作成しているのですが、
ラジオボタンの制御がうまくいきません。

どういうことかというと、
フォームに必要項目を入力してもらい、確認ボタンを押した後、
入力項目にエラーがあると修正ボタンが表示され、
修正をしてもらうという仕組みなのですが、
修正ボタンを押して入力フォームに戻ると、ラジオボタンが選択していた
状態ではなくなり、デフォルトの状態にもどってしまいます。

修正ボタンを押した後に、ラジオボタンの位置を、選択した箇所のまま表示させるには
どのような処理を行えばいいのでしょうか?

どなたかご教授お願い致します。
修正画面までラジオボタンのデータが渡っていることまでは確認済みです。


0365nobodyさん2006/08/08(火) 23:33:10ID:???
valueが一致するラジオボタンにcheckedを付ける。
0366nobodyさん2006/08/08(火) 23:50:03ID:???
>>365
早速アドバイスありがとうございます。

HTMLのソースが下のような感じです。
input name="genre" type="radio" value="1-1">
input name="genre" type="radio" value="1-2">
input name="genre" type="radio" value="1-3">

この行一行一行を「m//」でvalueが一致するか調べて
一致したら、「s///」で行ごと置換すればいいのでしょうか?
0367nobodyさん2006/08/09(水) 00:02:59ID:???
>>360
これとかだな。
http://search.cpan.org/~nwclark/perl-5.8.8/lib/Term/ReadLine.pm
0368nobodyさん2006/08/09(水) 00:16:15ID:???
HTML::FillForm
0369nobodyさん2006/08/09(水) 02:28:37ID:2nlyYTa7
Perl初心者です。投票スクリプトを製作しています。
データの書き込み処理に躓きました・・・。ヒントを下さい・・・。

$hogeに、「5」という数字が入っているとします。
そしたら、下記の「log.dat」の「番号5」の値の投票結果を「+1」していきたいのです。

つまり、「$hogeに入った数字と、log.datの『番号』の値を比べて、同じなら『投票結果』の値を『+1』する」
というスクリプトを組みたいのですが・・・・。

ログファイル(log.dat)の中身は以下の通りです。

番号  投票結果
-----------------------
 1     10
 2     20
 3     26
 4     30
 5     10
-----------------------

どうか、よろしくお願いします。
0370nobodyさん2006/08/09(水) 03:32:28ID:???
一旦、ログファイルを全部読み込んで、s/^(\s*\Q$hoge\E\s+)(\d+)(.*)$/$1.($2+1).$3/me とか。
03713692006/08/09(水) 03:40:54ID:eB/zZqiV
>>370
ありがとうございます。かなり複雑っすね・・・。

たびたび申し訳ありませんが、自分には何のこっちゃか・・・ orz
0372nobodyさん2006/08/09(水) 04:05:06ID:???
ログファイルの設計がおかしい
人間が見やすいようにするんじゃなくて
perl様が見やすいようにする

つか、他人の作った投票スクリプトを読み下せ
0373nobodyさん2006/08/09(水) 04:32:22ID:WfKDVGHV
正規表現で、1〜300の数字にマッチさせるにはどうしたらよいでしょうか?
[0-9]{1,3}では999までヒットしてしまいます。
ループもさせたくないのですが、、
0374nobodyさん2006/08/09(水) 05:06:26ID:???
[12]?\d{1,2}
0375nobodyさん2006/08/09(水) 06:10:08ID:???
>>372 のいう >>369 のログファイルの設計のおかしさ、どこかわからないんだけどw
そう書くのは割りと普通じゃないの?
簡単なログファイルでいいのならたぶん俺もそう書く。
open (略); read(略); %data = split(/\s+/);
だけでもデータとれるし。

>>369
+1 して保存するときは普通に。
$data{5}++;
foreach (sort { $a <=> $b } keys %data) { print 略 $_, "\t", $data{$_}, "\n"; }
close (略);
>>370 は結構トリッキーな書き方だね。 (.*)$ の部分はどうして必要なのかちょっとわからなかったけど。
0376nobodyさん2006/08/09(水) 07:14:26ID:???
>>369
>>372が言っているように、ログファイルの書式を見直すべし。
1, 2, 最終行 は不要。もし入れたいならコメントと分かるように工夫を。
余分なスペースも不要。

ログファイル例:

1 10
2 20
3 26
4 30
5 10

> 「番号5」の値の投票結果を「+1」していきたい

いったん全部読みこんで、5の値だけ変えて、全部書き出す。
0377nobodyさん2006/08/09(水) 07:22:05ID:???
いや、どう考えても 1,2、最終行は、ここで解説するために追加したラベルだろw
0378nobodyさん2006/08/09(水) 10:40:29ID:???
上から1,2,3・・・って並んでるなら、indexは必要ないだろ
ログファイル例:

10
20
26
30
10

で、十分。あとは、

open fh,$log;
@dat=<fh>;
close fh;
chomp @dat;
$dat[$hoge - 1]++;
open fh,">$log";
print fh join "\n",@dat;
close fh;

で、どうぞ
03793692006/08/09(水) 12:22:14ID:???
本当にありがとうございます orz
0380nobodyさん2006/08/09(水) 13:19:53ID:???
>>378
試したわけじゃないが、何か可笑しくない?
03813782006/08/09(水) 13:27:12ID:???
>>380
えっと、自分は試して書いてますが・・・
最初chompとjoinは書いてませんでしたが、それだとうまく行かなかったので足しました・・・
なので、その辺がちょっと冗長かも・・・
0382nobodyさん2006/08/09(水) 13:29:07ID:???
普通にぶっ壊れそうだなw
0383nobodyさん2006/08/09(水) 13:31:01ID:???
別に普通だろ。
0384nobodyさん2006/08/09(水) 14:05:56ID:???
まあ同時アクセスで壊れるね。
0385nobodyさん2006/08/09(水) 16:08:49ID:???
失礼。もう一個・・・。
-------------------------
10
20
26
30
10
-------------------------
のようなログがあった場合、この数字を全て足していきたいのですが、
-------------------------
open(LOG," $log");
    @logs=<LOG>;
close(LOG);

for ($i = 0; $i <= $#logs; $i++) {
    $count += $logs[$i];
}
-------------------------
で、大丈夫でしょうか?
ひょっとすると、forよりforeachやwhileを使ったしたほうがよろしいのでしょうか?

アドバイスよろしくお願いします orz
0386nobodyさん2006/08/09(水) 16:28:35ID:???
行番号$iをどこかで使うなら↑かなあ
03873852006/08/09(水) 16:33:48ID:???
>>386
ただ単に、ログの合計値を求めたいだけなので、「$i」は使わないっすね・・・。
そうすると、foreachでしょうか?やり方は分からんですが・・・。
0388nobodyさん2006/08/09(水) 16:49:10ID:???
がんばればきっとできる
0389nobodyさん2006/08/09(水) 17:32:59ID:???
さすがにこれから自分でコーディングしようとしてる人間が
関数すら調べようとしないなんてなぁ。
素直に「夏休みの宿題です」と言えば、まだかわいげがあるのに。
0390nobodyさん2006/08/09(水) 17:34:59ID:???
foreachよりforの方が速いって知ってる?
0391nobodyさん2006/08/09(水) 17:40:58ID:???
どのぐらいの量だとその差を実感できますかね
0392nobodyさん2006/08/09(水) 17:57:13ID:WfKDVGHV
>>374
ありがとうございます
0393nobodyさん2006/08/09(水) 18:01:38ID:WfKDVGHV
>>385
行が多いならメモリ節約のために1行づつ読んだほうがいいですよ。
排他したいならflockをした上で、いったんテンポラリファイルで保存してリネームがいいです。
0394nobodyさん2006/08/09(水) 18:13:32ID:???
>385
foreach(@logs){
 $count += $_;
}

while(<LOG>){
 $count += $_;
}

下のほうが推奨されるやり方。
どちらにせよ10 + "15\n" == 25 という危ない等式を使っているので、
ほかの言語でやるときは注意が必要
0395nobodyさん2006/08/09(水) 19:56:07ID:???
>>391
そうか?
俺も結構ゴリゴリ書くから、こうゆう細かい事は極力気にかけてるぉ

>>394
ん?「10 + "15\n" == 25」って何がマズイんだ?
0396nobodyさん2006/08/09(水) 20:06:22ID:???
ギリギリchompしろよ
0397nobodyさん2006/08/09(水) 20:43:00ID:???
>>390 は迷信です。…言うまでもないんだろうけど、こういう与太が広まるのは迷惑っちゃ迷惑なんで。
0398nobodyさん2006/08/09(水) 21:11:29ID:???
>>397
タイプするのが速いって事じゃないの?
0399nobodyさん2006/08/09(水) 21:27:42ID:lhGjc7IL
ヤフーの株価ページにアクセスして必要な情報をテキストに書き出すCGIを作っています。
銘柄コードを1000から9999までループさせ銘柄名を取得するのですが、
ループの回数が少ない場合正常終了するのですが全件やると半分ぐらいまで書き込みが完了した所で
Premature end of script headers
のエラーになってしまいます。
ファイルへの書き込みがタイムアウト?しているのかと思い1000件毎に、CLOSEしてOPENしなおしても変化ありません。
何回かに分けて処理したほうが良いのでしょうか?
次でソースのせます。
0400nobodyさん2006/08/09(水) 21:33:52ID:lhGjc7IL
open(FILE, ">$name_data");#ファイルオープン(クリア)
close(FILE);
open(FILE, ">>$name_data");#追加書き込みでファイルオープン
eval{ flock(FILE, 2) };
for($i = $start_code ; $i < $end_code ; ) {
 $cd = sprintf("%04d",$i);
  $url="ヤフーのURL";
  $dt=get($url);
  @data = split(/\n/,$dt);
  $j = 0;
  while($j < @data) {
    if(銘柄名の行になったら){
       $sk = $data[$j];
       $sk =~ s/\<b\>//g;#ごみ取り
       $sk =~ s/\<\/b\>.+//g;#ごみ取り
       $sk = jcode::sjis($sk);
       $sk =~ s/\(株\)//g;#ごみ取り
       print FILE jcode::sjis("$cd\,$sk\n");#書き込み
       $j = 100000#終わりなので抜ける
    }
    ++$j;
  }
  ++$i;
  if(substr($cd,1,3) eq "000"){
    close(FILE);
    open(FILE, ">>$name_data");#タイムアウト防止で1000毎に書き込み
      eval{ flock(FILE, 2) };
   }
 }
 close(FILE);

こんなです。よろしくおねがいします
0401nobodyさん2006/08/09(水) 21:43:24ID:???
自分がやってることが理解できないようだな。死ねよ
0402nobodyさん2006/08/09(水) 21:43:42ID:???
恐らく run time で kill されてるだけかと
0403nobodyさん2006/08/09(水) 21:52:32ID:???
サーバのタイムアウトの可能性があるから、
ApacheならTimeout値の見直しとか。

共有サーバなら逝ってよし。
0404nobodyさん2006/08/09(水) 22:50:03ID:???
>>402-403

池沼?

無理に「逝ってよし」なんて言葉を使う前に
>>400のやってることを100回見直してみ。
0405nobodyさん2006/08/09(水) 23:20:10ID:???
>404
株価データの著作権とかの問題を言ってる?
0406nobodyさん2006/08/09(水) 23:38:58ID:???
良く分からんけど、
 $dt=get($url);
ってヤフーのデータを読みに行ってるんだよね。
これがforループの中にある事に不吉な気配を感じる。

$iの値は1000から9999まで1ずつ増えるんだよね?
04074032006/08/10(木) 00:12:35ID:???
>>404
さっぱり分からん。

それは本当に、私達に対して言う言葉なのか?
04084002006/08/10(木) 00:30:08ID:???
>>402-403
タイムアウト値を300から2000に変更したところ全て正常終了できました。
ありがとうございます。

>>401、>>404
プログラミングのお作法についてなのか
著作権の問題かどちらかでしょうか?
ネット上に公開されているデータを収集しファイルに落とすことが問題?
会員用のデータを公開したり勝手に売ったりしたら問題だとは思いますが・・
0409nobodyさん2006/08/10(木) 00:58:21ID:???
>404
>402-403のことで解決したってた。
解決策も提案できないチンカスは早く寝ろや

>404
サーバーに負担かけすぎなので、出来れば一定間隔でsleep入れて相手のサーバーを思いやるか、
特定銘柄のみの取得にするといいかも。
0410nobodyさん2006/08/10(木) 00:58:52ID:???
げふ。アンカー先間違えた。
2個目は400さんへだ。
0411nobodyさん2006/08/10(木) 02:31:33ID:???
>プログラミングのお作法についてなのか
>著作権の問題かどちらかでしょうか?

どちらでもありません。ただ死んでください。
0412nobodyさん2006/08/10(木) 02:57:32ID:???
・・・(´・ω・`)

このへんの板も ID つかねぇかなー
0413nobodyさん2006/08/10(木) 07:28:55ID:???
YahooのサーバーにF5アタックしてるのとかわらないから
下手すると威力業務妨害とかで訴えられるんじゃね?
0414nobodyさん2006/08/10(木) 07:45:54ID:???
PragmaヘッダやCache-Controlヘッダが付いてなければF5とは違う。
0415nobodyさん2006/08/10(木) 08:40:23ID:???
そもそもCGIでやる意味ねーし
0416nobodyさん2006/08/10(木) 08:55:45ID:???
テキストファイルに情報を格納したり読み出したりするプログラムを毎度毎度書くのは
いいかげんめんどうじゃないですか?

最近はPerl限定ならStorableにハッシュ突っ込んで終わりにしてます。
0417nobodyさん2006/08/10(木) 09:20:20ID:???
テキスト形式が面倒だと思ったことはあんまりないなぁ・・・
むしろPerl依存の形式にしちゃうほうが後々めんどくさそう・・・
0418nobodyさん2006/08/10(木) 10:27:13ID:???
timethese (500,
{
test_a => q{
my $a = 0;
for (my $i = 0; $i < 100000; $i++) {
$a++;
}
},
test_b => q{
my $a = 0;
foreach (1 .. 100000) {
$a++;
}
}
}
);

Benchmark: timing 500 iterations of test_a, test_b...
test_a: 12 wallclock secs (11.63 usr + 0.00 sys = 11.63 CPU) @ 43.01/s (n=500)
test_b: 9 wallclock secs ( 9.63 usr + 0.00 sys = 9.63 CPU) @ 51.95/s (n=500)
0419nobodyさん2006/08/10(木) 10:44:47ID:???
それじゃあ条件が対等じゃなくね? てか、for と foreach の違いってそういう意味なの?

use Benchmark;
my @arr = (1 .. 100000);
timethese(1000, {
  test_a => sub {
    my $n = 0;
    for (my $i = 0; $i < @arr; $i++) { $n++; }
  },
  test_b => sub {
    my $n = 0;
    foreach (@arr) { $n++; }
  },
  test_c => sub {
    my $n = 0;
    for (@arr) { $n++; }
  },
});

Benchmark: timing 1000 iterations of test_a, test_b, test_c...
test_a: 26 wallclock secs (25.80 usr + 0.00 sys = 25.80 CPU) @ 38.77/s (n=1000)
test_b: 15 wallclock secs (14.64 usr + 0.00 sys = 14.64 CPU) @ 68.31/s (n=1000)
test_c: 15 wallclock secs (14.53 usr + 0.00 sys = 14.53 CPU) @ 68.82/s (n=1000)
0420nobodyさん2006/08/10(木) 10:51:06ID:???
10万回ループなんてどこで使うの?
0421nobodyさん2006/08/10(木) 11:00:41ID:???
いや・・・ 10万回ループは、あくまでベンチマークの為だから・・・。
普通の for ループ(test_a)と、リストを渡す for ループ(test_c)では、明らかに 1.5 倍程度前者の方が遅い。
でも、foreach (test_b) と for (test_c) の違いは、「無い」と言っていい。
(上のを何度か実行してみたところ、全ての結果において test_c の方が 0.1 秒ほど速かったけど誤差の範囲)
0422nobodyさん2006/08/10(木) 11:16:14ID:???
ああ、>>418はぐぐって出てきたのをそのまま(ry
0423nobodyさん2006/08/10(木) 11:47:25ID:???
>>421
そうじゃなくて、@aryを100とか1000くらいに、timetheseの方を100000とかにした方が現実的だと思っただけです。あんまり気にしないでください。
0424nobodyさん2006/08/10(木) 11:48:22ID:???
use Benchmark;
my @arr = (1 .. 10000);
timethese(1000, {
test_a => sub {
my $x = @arr;
for (my $i = 0; $i < $x ; $i++) { }
},
test_b => sub {
foreach (@arr) { }
},
test_c => sub {
my $n = 0;
for (@arr) { $n++; }
}
});

Benchmark: timing 1000 iterations of test_a, test_b, test_c...
test_a: 2 wallclock secs ( 1.88 usr + 0.00 sys = 1.88 CPU) @ 533.33/s (n=1000)
test_b: 1 wallclock secs ( 1.23 usr + 0.00 sys = 1.23 CPU) @ 810.37/s (n=1000)
test_c: 2 wallclock secs ( 1.86 usr + 0.00 sys = 1.86 CPU) @ 537.63/s (n=1000)

aで$n++する意味がわからん。
0425nobodyさん2006/08/10(木) 11:59:46ID:???
>>424
c で $n++ する意味もわからん。test_b と test_c は明らかに不公平。
0426nobodyさん2006/08/10(木) 12:01:22ID:???
条件が等しくない
0427nobodyさん2006/08/10(木) 12:27:47ID:???
まさかbとcを比較されようとは…

use Benchmark;
my @arr = (1 .. 1000);
timethese(10000, {
test_a => sub {
my $x = @arr;
for (my $i = 0; $i < $x ; $i++) { $arr[$i]=" "; }
},
test_b => sub {
foreach (@arr) { $_=" "; }
},
test_c => sub {
my $n = 0;
foreach (@arr) { $arr[$n++]=" "; }
},
test_d => sub {
my $n = 0;
foreach (@arr) { $arr[$n]=" ";$n++; }
}
});
__END__
Benchmark: timing 10000 iterations of test_a, test_b, test_c, test_d...
test_a: 4 wallclock secs ( 3.72 usr + 0.01 sys = 3.73 CPU) @ 2678.81/s (n=10000)
test_b: 2 wallclock secs ( 2.73 usr + 0.00 sys = 2.73 CPU) @ 3657.64/s (n=10000)
test_c: 4 wallclock secs ( 4.34 usr + 0.00 sys = 4.34 CPU) @ 2302.03/s (n=10000)
test_d: 4 wallclock secs ( 3.98 usr + 0.00 sys = 3.98 CPU) @ 2509.41/s (n=10000)
0428nobodyさん2006/08/10(木) 13:47:00ID:???
つか、なんで違う条件でばかりベンチ取ってるの?意味ないだろ
0429nobodyさん2006/08/10(木) 16:36:09ID:???
>>427
純粋に繰り返し部分だけを比較するなら @arr は余計。( $i は、それがないと
同等の機能を果たせないので必要)

for ( my $i=0; $i<10000; $i++) {}
for ( 0..10000-1 ) {}
0430nobodyさん2006/08/10(木) 16:48:35ID:???
use Benchmark;
timethese( 1000, {
  a => sub { for ( my $i=0; $i<10000; $i++ ) {} },
  b => sub { for ( 0..10000-1 ) {} }
});
---
a: 1 wallclock secs ( 1.49 usr + 0.00 sys = 1.49 CPU) @ 673.40/s (n=1000)
b: 1 wallclock secs ( 1.05 usr + 0.00 sys = 1.05 CPU) @ 955.11/s (n=1000)

前者は $i を使う分(?)少し遅くなってるが、実際の使用では
繰り返し処理のメイン処理部が時間を食うわけだから、どちらも同じ程度と
認識してよいでしょう。
0431nobodyさん2006/08/10(木) 17:03:16ID:???
条件同じにするなら、
for (@arr) {}
と
foreach (@arr) {}
を比べるんじゃないの?
内部では同じだから、ほとんど誤差分しか違いが出ないと思うけど。

条件付きの for (my $i = 0; $i < 1000; $i++) {} が
条件なしの foreach (0 .. 1000) より遅いのは仕方ないし。
0432nobodyさん2006/08/10(木) 17:21:05ID:???
実際にforやforeachを使うとき、わざわざ配列を用意するか?
0433nobodyさん2006/08/10(木) 20:18:12ID:???
なにしたいのかさっぱり
0434 2006/08/10(木) 20:38:11ID:/HJpKD0H
よくテンプレートで使うハッシュに入れる値をDBとかで配列でとってきますよね

foreach (@omomomo){
my $ha = $hoge[0];
my $hb = $hoge[1];

push(@a,$ha);
push(@a,$hb);
}

while(@ha && @hb){
my %has;
$has{hoge} = shift @ha;
$has{moge} = shift @hb;
push(@hogehoge,\%has);
}

$template->{hogehoge} = \@hogehoge;

これもっと短くする方法ないですかね

0435nobodyさん2006/08/10(木) 20:48:18ID:???
どこで質問させて言いかわからなかったので、ここで質問させてもらいます
URLを指定してそれをダウンロードさせたいのですが、どのようなモジュールがありますでしょうか?
0436nobodyさん2006/08/10(木) 20:48:39ID:???
ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン…
0437nobodyさん2006/08/10(木) 20:48:41ID:???
for ( 1 .. 1_000_000 )
とか今は平気なんね。
知らなかったから参考になった。

>>434
templateしらんがforeachは何してるん。
0438nobodyさん2006/08/10(木) 20:51:07ID:???
>>435
file:///C:/Perl/html/site/lib/LWP/UserAgent.html
たぶんここに答えのファイルがあるはずだッ
0439nobodyさん2006/08/10(木) 21:12:26ID:???
>>434
あまりにもそのコードがいい加減でなんとも言いようが無い。
テンプレート使うのに、そんな処理するか?
0440nobodyさん2006/08/10(木) 21:14:31ID:???
突然ですが質問です。
スクリプト側でファイルのパーミッションを指定したり変更するにはどのような
方法がありますか?
0441nobodyさん2006/08/10(木) 21:15:41ID:???
chmod
0442nobodyさん2006/08/10(木) 22:29:23ID:???
>>435
#!/usr/bin/env perl
use LWP::Simple;
print "content-type:text/html\n\n";
getprint("http://www.yahoo.co.jp/";);
04434342006/08/10(木) 22:30:27ID:???
foreachは
foreach(1..$num){ の間違いです(適当にかいてしまいました すみません
$numにはmysqlから取得した個数が入っていて

foreach(1..$num){
@hoge = $sql->fetchrow_array; # @hogeにはhogeとmogeを配列で値を取得
my $ha = $hoge[0];
my $hb = $hoge[1];

こんなかんじです
04444402006/08/10(木) 23:07:09ID:???
config.cgiで指定する
各種ログファイル名 という項目でファイル名を指定するわけですが
その際にスクリプトの方でパーミッションを指定するにはどのように
記載すればよいですか?
04454352006/08/10(木) 23:13:13ID:???
>>438
ありがとうございます。
Windows環境でないのですが、UserAgent.htmlを探してみたのですが
自分の環境にはないようです。

>>442
ありがとうございます
実際にやってみると、標準出力にソースが出力されてしまいます。
後付けで申し訳ないのですが、それをHTML::TagParserで処理したいのですが
そのような事が出来る方法などないでしょうか?
0446nobodyさん2006/08/10(木) 23:20:28ID:???
>>444
perldoc -f chmod
0447nobodyさん2006/08/10(木) 23:27:11ID:???

>>434
とりあえず短くした
while (my $row = $sql->fetchrow_arrayref) {
    push @hogehoge, {hoge => $row->[0], moge => $row->[1]};
}
0448nobodyさん2006/08/10(木) 23:28:38ID:???
>>445
そのモジュール知らんけど、
>>$html = HTML::TagParser->new( "http://www.kawa.net/xp/index-j.html"; );
ていうコードが引っかかって来たけど・・・?
0449nobodyさん2006/08/10(木) 23:52:40ID:???
>>445
出力結果を変数に入れてHTML::TagParserに渡すとか。
その方法すら想像付かないならプログラミング自体諦めたほうがよい。
04504442006/08/10(木) 23:54:01ID:???
config.cgiで指定する
各種ログファイル名を指定する所で

$NAME_1 = 'logdata';

の用にした時のスクリプト側でパーミッションを指定する際には
どうしたらよいでしょうか?
簡単にperldoc -f chmod のままではうまくいきません。
0451nobodyさん2006/08/11(金) 00:00:33ID:???
config.cgi って何についてくるやつ?
chmod使ってどんな風に書いたの?
それでどううまく行かなかったの?
0452nobodyさん2006/08/11(金) 00:06:01ID:???
>>450
perldoc が何であるか調べてからもう一度おいで。
0453nobodyさん2006/08/11(金) 00:06:50ID:???
>>$450
なんかソースにperldoc -f とか書いてそう・・・w
0454nobodyさん2006/08/11(金) 00:09:08ID:???
>>444=440 はすでに >>441 で答えをもらってて、
>>446 にも補ってもらってて、まだダメとは…。
コピペできるくらいに全部コード書いてあげないと分からないのでは。
04554442006/08/11(金) 00:19:47ID:???
うまくいかなかったというより書き方自体が分からなかったのでお聞きしました。
0456nobodyさん2006/08/11(金) 00:34:46ID:???
print <<455
じゃあほれ
http://www.rfs.jp/sb/perl/05/chmod.html
455
0457nobodyさん2006/08/11(金) 00:45:57ID:???
>>455
だから perldoc は、その「書き方」を調べる為のコマンドだってば・・・。英語だけど中学レベルの簡単な英語。
Windows なら、スタート→プログラム→アクセサリ→コマンドプロンプトを開いて perldoc -f chmod と打ってEnter。

自分で調べられない奴は、いつまで経っても上達しない。どうせ perldoc で検索すらしてないんだろ。
0458nobodyさん2006/08/11(金) 00:48:56ID:???
人の答えを丸写しして「動かない」とか文句いう奴に何を言ってもムダ
0459nobodyさん2006/08/11(金) 01:19:58ID:???
イミフ
0460nobodyさん2006/08/11(金) 01:35:21ID:5JciSP0N
>>456
そのアンカの張り方いいなw
0461nobodyさん2006/08/11(金) 01:43:15ID:???
print <<"455";
じゃあほれ
(p)http://www.rfs.jp/sb/perl/05/chmod.html
455

やるならちゃんと書いて欲しかったwww
■ このスレッドは過去ログ倉庫に格納されています