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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2006/04/26(水) 18:00:50ID:RLbnve1J
Perlのコーディングで困ってる人のスレです。

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

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

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

過去ログやお勧めサイトは >>2-10
0951nobodyさん2006/05/31(水) 01:48:45ID:???
どっかにソースをまとめてうpしる
0952nobodyさん2006/05/31(水) 02:05:27ID:8kzUocWY
>>951さん
まとめてうpしるって、まとめてアップしろってことですか?
良く分からなくてすみません!(>_<)
0953nobodyさん2006/05/31(水) 02:09:40ID:???
> 見ての通り sub print はテンプレート化したもので、sub read はcgiファイルなので別々のものをうまく組み合わせるのに困っています

ここが理解できないのはうちだけ?
テンプレート化って何 テンプレート化って。

どういう流れなのかいまいちわからないなあw
0954nobodyさん2006/05/31(水) 02:20:28ID:8kzUocWY
>>951さん
アップローダーを見つけてアップしてきました。
http://tool-ya.ddo.jp/webfs/~enigma
の中にあります。コメントによろしくお願いしますと書いてます
0955nobodyさん2006/05/31(水) 02:22:01ID:8kzUocWY
>>953さん
sub print の方は、HTMLファイルになってるんです。
sub read の方は、CGIファイルです!
0956nobodyさん2006/05/31(水) 02:28:01ID:8kzUocWY
http://tool-ya.ddo.jp/webfs/~enigma
のDLパスは1234です!
0957nobodyさん2006/05/31(水) 02:48:53ID:???
落としてみたけど、sub read なんてないなw sub open_in_new かw
>>955 は拡張子はHTMLファイルだけど、require できる普通のperl形式だったね。
かなりルーズに書いてるから、別ファイルだから受け渡しできない〜、とかそういうことはないと思うぞ。

件とは関係ないかもだけど 178行目
push(@log_lines,$data[$j]});
なってエラーでる。
push(@log_lines,$data[$j]);
こうじゃね。
しかもこれ直してもまだカッコ閉じられてない風なエラーでて しかもどこだかわからないw
動くファイルあげてw

0958nobodyさん2006/05/31(水) 02:51:27ID:???
って、すぐ近くにあったw

181行目
#}

}

もっとがんがれー ( ´Д`)
0959nobodyさん2006/05/31(水) 03:02:45ID:8kzUocWY
>>957-958さん
落として見てくれたんですね(*^_^*)♪
ありがとうございます!

なんでそんなに早く分かるんですか!?
しかも、書いてもらってるのに
>件とは関係ないかもだけど 178行目
>push(@log_lines,$data[$j]});
>なってエラーでる。
>push(@log_lines,$data[$j]);
の2行目と4行目の区別がわかりません。....ρ(。 。、 ) 全く同じに見えます。。。

でもほんとにほんとに、なんで見ただけですぐ分かっちゃうんですか??!!
0960nobodyさん2006/05/31(水) 03:07:08ID:8kzUocWY
ああ〜〜っΩ(*'〇^*)Ω
わかっちゃいましたぁ☆
} が付いてたのが余計だったんですね!

ホントに何でそんなに早く分かるんですか???
0961nobodyさん2006/05/31(水) 03:27:09ID:8kzUocWY
>>957-958さん♪
できましたぁ〜☆+゚ヽ(^◇^◎)/

って言ってもエラーが取れただけでランキングは、正しく表示されていませんでした^^;
ファイルの中身を読んで、昨日言われたとおりに書いたつもりなんですけど
CGIの方のファイルを見てると、該当するカテ用のログを読んで、
その中のデータを「IN」が多い順にソートして、それから
1ページ分に表示させる分だけ@log_lines に入れてますよね? 解釈も記述も合ってますよね?^^;

HTMLの方では、@log_lines から <> を除いて@Slog に入れてから&print をしてますよね?
そこでは、1ページ分だけのデータが入ってる@Slog のURL部分をいじっておしまいなのに
画面で確認すると、INの降順じゃないんです。。。
しかも、@Slogを直接表示させるとやっぱりINの降順にそーとされてないデータが出てくるんです。  ( ´Д`)なんでー
0962nobodyさん2006/05/31(水) 03:37:25ID:???
誉められてるんだかけなされてるんだかわからなくなってきたとです・・・。 orz
エラーはエラー文に行数でてればすぐわかるんだけどw

っていうかスクリプトはルートわからんかぎり見当つかないな。確かめられないのでなんとも。
@log_lines より先に、ソートする open_in_new (?) を呼べばいいとしか答えられないや。

>>948で言ってた sub print が sub PRlog に当たってるんだろうか?
その中で local(@log_lines); こうやってるけど、これはいいんだっけ? 消したほうが・・・。

・・・

あー、もしかして、

@IN_count=(split(/_/,$Slog[13]))[2];

$IN_count=(split(/_/,$Slog[13]))[2];

こうじゃね?w
0963nobodyさん2006/05/31(水) 03:42:39ID:???
ここはやけにハイテンションな顔文字が多いインターネッツですね
0964nobodyさん2006/05/31(水) 03:51:05ID:8kzUocWY
>>962さん♪
誉めるっていうより、絶賛ですょ〜w(*・o・*)w オォォ

最近PC買ったんでついつい面白くていろんなことやり出したら止まらなくて^^;
けど掲示板って思ったより時間が掛かるから、すぐ聞けてわたしもすぐ答えられるようなものあったらいいのになぁ♪

>@log_lines より先に、ソートする open_in_new(?) を呼べばいいとしか答えられないや。
早速実践してみます!

>sub print が sub PRlog に当たってるんだろうか?
そうです^^

>local(@log_lines); こうやってるけど、これはいいんだっけ? 消したほうが・・・。
消しましたぁ☆

>@IN_count=(split(/_/,$Slog[13]))[2];
>↓
>$IN_count=(split(/_/,$Slog[13]))[2];
>こうじゃね?w
やってみましたが、結果は同じでした。。。(。_。*)

プログラムって難しいですねぇ^^;
先生に少し習ったくらいだから、わたし全然だめですよne...
0965nobodyさん2006/05/31(水) 03:52:24ID:8kzUocWY
>>963さん
こんばんゎぁぁ 猫(゚ロ゚L)
遅くまで起きてるんですねぇ^^♪
0966nobodyさん2006/05/31(水) 03:55:14ID:???
福岡県在住のねーちゃんの懸賞サイト作りにタダ働きさせられてて(´・ω・) カワイソス
0967nobodyさん2006/05/31(水) 03:58:55ID:8kzUocWY
>>962さん♪
今書いたスクリプト見て
>@log_lines より先に、ソートする open_in_new(?) を呼べばいいとしか答えられないや。
のところをやろうとしたら、
#&open_in_new;
foreach $line(@log_lines){
@Slog=split(/<>/,$line);
&PRlog;
}
って、なってました^^; なるわけ無いですよね。。。

そこで、# を外してみたら。。。!!!


。。。やっぱり正確に表示されませんでしたToT
それどころか、登録してある部分が消えてました(оД〇;)マヂ?!

open_in_new の方で、ちゃんとlocal を使ったりしてないのがまずかったんですかねぇ。。。??
0968nobodyさん2006/05/31(水) 04:01:21ID:???
この流れにワロタwww
0969nobodyさん2006/05/31(水) 04:07:43ID:???
>>966
orz
でも一度答えると責任ってのが発生してなかなか逃れられない罠。

>>964
いや、変わらないのはありえないなw
元が、157行目の、

@Slog=split(/<>/,$line);## $Slog[13] = 0_0_0_0, $Slog[2] = URL
@IN_count=(split(/_/,$Slog[13]))[2];
push(@data,{url => $Slog[2], IN_count => $IN_count});

だったので、 $IN_count は未定義で、IN_count => $IN_count には undef が設定されてたので、いままでソートがされていなかったはず。
それが、
$IN_count=(split(/_/,$Slog[13]))[2];
に直すことで $IN_count は定義されて、ソートができるようになったはず。

>>961 でソートされてない、っていってたけど、まだされてない?
もしソートできてないなら、 $IN_count の値が怪しいなw
本当に (split(/_/,$Slog[13]))[2]; で正しいのか確認してみて。
print $IN_count, $Slog[13], "\n"; とかやるなりして。
$array[2] は 「123-456-789」 でいえば 456 じゃなくて 789 だぞ?
0970nobodyさん2006/05/31(水) 04:09:58ID:???
ID:8kzUocWYは次スレ立てて来い
0971nobodyさんNGNG
もうだめだねこのスレ
0972nobodyさん2006/05/31(水) 04:11:20ID:???
いや、むしろこれは序章にしか過ぎないのだった・・・
0973nobodyさん2006/05/31(水) 04:13:14ID:???
>>962=>>969の人が本気でかわいそうになって来たんだけど
ニヤニヤしながら生温かい目で見守ることにする。

>>971
なんだか急に「お客さん」向けのスレに変わったなぁとは思う。
0974nobodyさん2006/05/31(水) 04:18:09ID:???
>>969
改造は改造スレでどぞ。
と、自治厨ぶるつもりはなく、むしろ「親切な人も居るんだなぁ」とROMってたんけどな。
この調子で続けられると荒れそうな気がしないでもなく。
で、他のROMは落としたスクリプトの著作権のとこ見てニヤニヤしてるんだろ?な?w
0975nobodyさん2006/05/31(水) 04:21:37ID:8kzUocWY
>>969さん♪
迷惑ですよね。。すみません。
遅くまで付き合っていただいてありがとうございました!
とても親切な方でしたので、つい調子に乗ってしまいました。
ごめんなさいm(__)m
0976nobodyさん2006/05/31(水) 04:22:33ID:???
ID:8kzUocWYには任せそうにもないので次スレ、逝ってきます。
0977nobodyさん2006/05/31(水) 04:23:09ID:???
うん、うちもこういうふいんき(何故かry)のは mixi とかでやれ、と思った。コミュが合えば答えるw


あと、178行目
push(@log_lines,$data[$j]);

push(@log_lines,$data[$j]->{url});
で、
print $_->{url}, "<hr>\n"; html 165行目

print $_, "<hr>\n";
にした方がいいような気がする。
09789762006/05/31(水) 04:26:11ID:???
> ERROR:新このホストでは、しばらくスレッドが立てられません。

生IPもISP串もこうなったので、ほかの方お願いします...orz
0979nobodyさん2006/05/31(水) 04:29:58ID:???
>>976
よろ〜

>>975
いや、迷惑っていうか、なんていうか。
まぁ、動かして確認できるようにファイル一式同梱でもしてくれたら1レスで済んだんだけどね。
プログラムは、、、ほんと勉強するとしないとで雲泥の差だねw
勉強しないでやるとkentくらいで終わる気がする。
まぁがんばってちょ。

>>978
最近建てられたことないけどやってみるーw
0980nobodyさん2006/05/31(水) 04:34:00ID:???
>>975
まぁ、なんだ、著作権とかうるさく言う方じゃないけど、
ttp://yomi.pekori.to/yomi-search.shtml
の作者にも謝っとけ。

しかし、変なやつが1人でも居たら即効で晒されてただろうに
このスレは本当に生温かいw

>>979
よろ
0981nobodyさん2006/05/31(水) 04:34:44ID:???
建てられました。

Perlコーディング初心者質問スレ Part 49
http://pc8.2ch.net/test/read.cgi/php/1149017548/

テンプレ貼り終わるまで待ってt
09829762006/05/31(水) 04:39:05ID:???
>>981
乙。IPレンジかぶってなくてよかった。
連投規制値知らないので(全部貼ってもだいじょぶ?)、無駄な投稿をここに投げてみる。
09839762006/05/31(水) 04:45:01ID:???
あり?連投で止まった?続き逝っときます。
0984nobodyさん2006/05/31(水) 04:45:05ID:???
規制うけました orz
もしかして過去ログって省略して倉庫だけでよかった?(;´Д`)
誰か後2個だけよろしく orz
0985nobodyさん2006/05/31(水) 04:46:40ID:???
>>983
乙。

>>984
無問題。
0986nobodyさん2006/05/31(水) 04:46:40ID:???
>>983
ごめん、串とかクッキーとかいじったけど何故かダメじゃった。ありー
09879762006/05/31(水) 04:47:06ID:???
>>984
乙。残り片付けました。
0988nobodyさん2006/05/31(水) 04:50:11ID:???
>>984>>987
スレ立てテンプレ乙。
あの流れをこのスレ内で終焉させたことも乙w
0989nobodyさんNGNG
あーキモかった
二度と来んな
0990nobodyさん2006/05/31(水) 05:21:02ID:???
>>989=クラッカー
0991nobodyさん2006/05/31(水) 05:38:29ID:???
クラッカーだとしたらレベル低スw
0992nobodyさん2006/05/31(水) 06:06:41ID:???
POSTメソッドを送信するプログラムを書いているのですが
Content-Type: application/x-www-form-urlencodedで送らなければいけない場合に文字化けが発生します
具体的には日本語と書いてエスケープして渡した値が??{??になったりするものです
$str =~ s/([^\w ])/'%' . unpack('H2', $1)/eg;
$str=~ tr/ /+/;
ではだめなのでしょうか?
0993nobodyさんNGNG
情報を小出しに(ry
0994nobodyさん2006/05/31(水) 06:10:37ID:???
そこだけ出されてもわからないけど、$strに入ってる「日本語」の
文字コードはどれかに決め打ちされてるの?

どっかでEncode.pmなり何なりを使わなきゃいけない仕組みになってない?
0995nobodyさん2006/05/31(水) 06:14:14ID:???
>>994
いま、POST先のページを見てきたら charset=euc-jpとなっていました。プログラム側の文字コードは決めてないです。
POST先のページがeuc-jpだとEncode.pmを使わなければいけないのでしょうか?
0996nobodyさん2006/05/31(水) 06:20:16ID:???
>>995
「日本語」が
・%C6%FC%CB%DC%B8%EC
・%93%FA%96%7B%8C%EA
・%E6%97%A5%E6%9C%AC%E8%AA%9E
どれになってるのかも、そこからどうしたいのかもわからんので何とも言えません。
0997nobodyさん2006/05/31(水) 06:23:03ID:???
>>996
%93%fa%96%7b%8c%eaとなっています。情報が小出しですいませんでした。どの情報を書けばいいのかすらわからなかったもので…
0998nobodyさん2006/05/31(水) 06:27:29ID:???
>>997
どこまで小出しが続くのかもわからんので、
それ(>>996の2つめ)はShift_JISですよー、とだけ言い残して落ちよう。

がんばれ。
0999nobodyさんNGNG
The Galaxy Express 999 GET !!!!
1000nobodyさんNGNG
__END__
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。