くだすれPerl(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/09/10(日) 13:33:48ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Perl使いが優しくコメントを返しますが、
お礼はPerlの布教と初心者の救済をお願いします。
0412nobodyさん
2007/09/24(月) 23:41:48ID:???#/usr/bin/perl
#生きてる限り勉強
while(>>411){
print "トライ&エラー";
}
__END__
0413nobodyさん
2007/09/25(火) 00:10:08ID:OOv8Weabなんだかそう言われると、これまで学習を継続してきたことを肯定されたようで
安心します。笑
とりあえず、これまでやってきたことは当たり前のことではありますが、少なくとも
間違ってはいなかったと思えました。
0415nobodyさん
2007/09/25(火) 00:50:17ID:???0416nobodyさん
2007/09/25(火) 00:53:46ID:OOv8Weab動くスクリプトというのはどういうことなんでしょう。
スクリプトは1日平均100行くらいですかね。
やっていた時期は、300行くらいでしたが、最近はネットワークやUNIXに関する勉強にも
追われていて。
0417nobodyさん
2007/09/25(火) 01:14:03ID:???ここで質問するよりも、本を読むよりも↓行って作って来い。
多分その方がいい勉強になる。作れないものは調べて作る。
ご希望のCGIを作成いたします
http://pc11.2ch.net/test/read.cgi/php/1145308869/
0418nobodyさん
2007/09/25(火) 01:37:09ID:OOv8Weabその行動としてどういったものが妥当かを入念に検討しているのです。
私は学生なので、行動範囲も限られはしますが、まずは手始めにWeb applicationを制作しようかと
考えております。
一年perlやってきましたが、これまではこれを生かそうという計画はなかったのですが、
それは行動力がなかったというよりも、
もとからそういう発想がなかったんです。
それがここ数週間に間に急にWeb applicationをやろうという欲望がふつふつとわきあがってきているので
自分でも驚いています。
この欲望を実現すべく、過去の先達たちはものすごい行動力を発揮してこられたのでしょうが、
私も負けてはいません。
>>417
CGIを作ってもらうんですか。
スレッド見ました。
オープンソースのperl scriptを見るのも良い勉強になりますよね。
あと、思うんですが、方法にグタグタこだわるよりも、何をやりたいかが
大事ですよね。
ところが、自分の場合は何をやりたいかが明確なのにそのための方法がまるで
分からないというか少しずつ分かっているのですが、
その分かっていくスピードがあまりに低速であきれているんです。
なんと進みにくいのだろうかと。
だから、少しでも速く進めるように先輩方のお力を頂きたくこのスレッドに
参上いたしました。
0419nobodyさん
2007/09/25(火) 16:28:46ID:???俺が苦労して書いた10行ぐらいの処理が
うまい人だと2〜3行で処理効率も上とか普通にあるし。
0420nobodyさん
2007/09/25(火) 17:11:40ID:???「○○するスクリプトを××行で書きました」
ならまだしも。
0421nobodyさん
2007/09/25(火) 18:43:18ID:???0422nobodyさん
2007/09/25(火) 20:20:09ID:???0423399
2007/09/25(火) 21:39:39ID:tW7VjElz申告すべきものが何もなかったので行を申告しました。
ところで、上のほうで少し書いたかもしれませんが、私は長いプログラムを書いた経験がありません。
そこで、サイト制作に着手しようかと今日サーバについて調査しておりました。
そこで質問ですが、アプリケーション開発はどういう手順で行われるのでしょうか?
一応情報系なので、要件定義から設計・coding、テストといった過程については勉強したのですが、
実際の現場でどういう開発工程がとられているかというのは、
いかなる手段で学べばいいのでしょうか?
やはり、アルバイトが一番でしょうか。
しかし、アルバイトは当たり外れが大きいとも聞きます。
0424nobodyさん
2007/09/25(火) 21:43:43ID:???0425399
2007/09/25(火) 21:55:39ID:tW7VjElzというよりは、これも自分のなかでは地道な努力の一環なのですが、いかがでしょう。
たとえば、第一線の開発者が実際にどんなツールや手法やスタイルで仕事をしているか、
というのは学生が学ぶのは困難なのでしょうか、ということを現在調査中なのです。
0426nobodyさん
2007/09/25(火) 22:14:32ID:???0427399
2007/09/25(火) 22:23:40ID:tW7VjElzはい。どういう形で報告すればいいのか指定くだされば、検討します。
0428399
2007/09/25(火) 22:32:09ID:tW7VjElz現場の空気を吸うことが大事かなと考えまして、それで、さっそくサーバについて調査していたのです。
幸い、私にはやりたいことがそれなりに明確です。だが、よく考えてみると道のりがはなはだしく曖昧なのです。
それは当然です。全く未経験なのですから。
そこで、「ロードマップ」が欲しいと考えたのです。
何かおかしなところがあればご指摘ください。
0429nobodyさん
2007/09/25(火) 22:38:38ID:???0430399
2007/09/25(火) 22:39:50ID:tW7VjElz0431399
2007/09/25(火) 22:41:44ID:tW7VjElz他所で調査をしながら、ここでも質問しているという次第です。
ただし、マルチポストはしていませんよ。笑
0432nobodyさん
2007/09/25(火) 22:42:20ID:???まあ、コードを書いた経験があるだけomotiよかましだろうが
「ハイキング程度の人間がエベレストに挑む」
「プーアルが完全体セルに挑む」
のを単に夢想してるだけだ。
「ロードマップが欲しい」?
地図の見方すら分ってない人間に分るようなフローチャートを無償で作れと?
おまえさんがやるべき事は経験を積むことだよ。
ここでうだうだ、くだらん持論を述べる事ではなく。
さっさとアルバイトに応募しろ、外れだと思ったら止めて他を当りゃいいだけだ。
0433399
2007/09/25(火) 23:08:16ID:tW7VjElzある意味納得です。アルバイトへの応募も必要だし、経験を積むことをするのは必須事項でしょう。
omotiって何か知りませんが、私は地図を読む能力がゼロだとは思いません。
私は自分を過少評価する傾向がありますが、それをゼロだと言ってしまうと、卑下しすぎでしょう。
地図を必要とする理由は、地図を頭に入れてから実践したほうが効率面で有効だと判断したからです。
どういった手段で、先人達は、地図を入手してこられたのでしょう。素朴な疑問。
0434nobodyさん
2007/09/25(火) 23:29:27ID:???>omoti
ぐぐれ。
>地図を読む能力
「読む」のは誰でも出来る、経験に応じたレベルで。
経験を積むと見方が分ってきてより深く地図を読むことが出来るようになる。
>自分を過少評価
何様だ?オマエ。
経験をコードの行数で書くようなドシロウトみたいなマネしといて、
よくもまあ、自分を過大評価出来るもんだ。
0435nobodyさん
2007/09/25(火) 23:38:09ID:???迷惑だから来ないで下さい
0436399
2007/09/25(火) 23:45:43ID:tW7VjElzどうも意志の伝達が正常に行われなかったようです。
自分を過少評価というのは、自分が偉いというのとは逆に、
自分をネガティブに評価する傾向があるという私の一般的性質を指しています。
だから、なぜあなたが怒りを発生させたかについては責任を負いかねます。
それから経験をコードの行数で書くのが実力や経験量を測定する尺度としてあまり妥当な手段でないことは認めるものの
何がしかの尺度にはなるかと思います。
一応情報系なので日常会話で行数について耳にしますので、補足しました。
>>435
アルバイトに来ると迷惑ですか。
私はやる気だけはありますよ。これまでもアルバイトしてましたが、面接でそう言いました。
0437nobodyさん
2007/09/25(火) 23:52:05ID:???PMだけを目指すのならともかく、若いうちはガンガンスクリプトを書いとけ。
出来たものから汎用性のある部分をモジュールとして使えるようにしろ。
モジュールとして使わないまでも、関数なりクラスとして再利用出来るようにストックしとけ。
ロードマップだの何だの言うよりも、とにかくショウモないスクリプトでもいいから書いて書きまくれ。
言われてることが分からないなら、とっとと現実に戻ってクソして寝てみる夢を見つづけろ。
0438nobodyさん
2007/09/26(水) 02:18:47ID:???0439nobodyさん
2007/09/26(水) 02:21:03ID:???それでいてゼビウスのようなゲーム作って大成功する奴もいるんだ
お前みたいに能書きだけで先に進もうとしない奴は何やっても駄目
0440nobodyさん
2007/09/26(水) 02:24:18ID:???とりあえず、会員制のサイトでも作ってみたら?最初はモジュールを
使わず、全てPurePerlで組む。完成しても公開はしない。あくまで、
自分の学習用。機能としては…
・新規登録フォームで必要項目を記述して送信すると
入力されたデータを保存。同時に確認メール発射。
・確認メールの中にURLが記入されていて、そこに
アクセスすると入会登録完了。
・入会登録完了すると完了メールが届いて、そこに
書かれているIDとパスワードでログイン。
ここまで出来れば、Webサイトを作成する上での基本は学べると思う。
その後に、サイトの中でBBSなりユーザ情報設定等を追加していく。
ここまでで、Webサイトを運営する上で解決策が学べると思う。
その後に、同じ物をモジュールを使って作り直す。
ここまでで、モジュールの有難さを学べると思う。
ここまでできて、解らない事があれば、質問してくれ。逆に
それまでは、自分の力で解決してくれ。途中でどうしても
自分の力で解決できなければ、才能が無いので、諦めてくれ。
>>399
いきなり大きなものを一から作ろうとすると挫けるから、自分の思ってる機能に
一番近いものを実装してるCGI探してきて設置。まずはそれを好きなように
改造しまくる。これだけで一通りの流れは掴めると思う。次が>>440かな。
ちなみに個人で始めるWebサービスは99%赤字になるから、金が欲しいなら
素直に今できるバイトで稼げ。
0442nobodyさん
2007/09/27(木) 22:26:20ID:???0443nobodyさん
2007/09/28(金) 09:09:43ID:???うざったいことこの上ない。
0444nobodyさん
2007/09/28(金) 20:52:36ID:???全部同一人物かw
0445437
2007/09/29(土) 00:32:05ID:???プログラミングなんて習うよりも作れだというのに。
0446nobodyさん
2007/09/29(土) 01:20:03ID:???ってか実はいつもいるのか?
0447nobodyさん
2007/09/29(土) 01:25:07ID:???0448nobodyさん
2007/09/29(土) 13:45:18ID:???0449nobodyさん
2007/10/04(木) 08:24:35ID:???if ($vote_terminal == 0){$voteflag = 1;}
else{
$a1 = $ENV{'HTTP_USER_AGENT'};
if (($a1 =~ /^DoCoMo\//)||($a1 =~ /^ SoftBank\//) ||($a1 =~ /^UP\.Browser/)){
if ($vote_terminal == 1){$voteflag = 0;}else{$voteflag = 1;}
}
elsif ($vote_terminal == 1){$voteflag = 1;}else{$voteflag = 0;}
}
HTTP_USER_AGENTの部分をREMOTE_ADDRにしたいのですが
携帯電話会社のIPアドレスをどう追加してやれば良いのでしょうか?
携帯電話のIPアドレスリスト
http://ja.wikipedia.org/wiki/%E5%88%A9%E7%94%A8%E8%80%85:Tietew/%E6%90%BA%E5%B8%AF%E9%9B%BB%E8%A9%B1%E3%81%AEIP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%83%AA%E3%82%B9%E3%83%88
0450nobodyさん
2007/10/04(木) 09:06:18ID:???IPアドレスで判定する部分そのものを新たに追加するってんならわかるが。
0451449
2007/10/04(木) 13:54:49ID:wlik/mVjそうなんですか
尚更手に追えそうもないです;
失礼しました
0452nobodyさん
2007/10/06(土) 23:30:58ID:???目的は一度、デコード&整形した後でデコードだけの整形していないデータを取り出すこと。
seek STDIN 0, 0;は既に試しました。
0453nobodyさん
2007/10/06(土) 23:35:10ID:???0455nobodyさん
2007/10/07(日) 00:05:53ID:???やっぱり、その方法が手っ取り早いですか?
考えてはみたけど、それなら結局は最初から変数に読み込んで後で使う方がいい気も…
んー、キーボード入力じゃなくてPOSTデータだから取り出せるものと思ってました。
一生手を入れないでマージンまでやってくれるクラスを作ろうと思ってまして。
0457nobodyさん
2007/10/21(日) 09:54:12ID:xMq+XN4pできなかったこと:ActivePerlへのppmを通じたインストールがうまくいきませんでした。
やったこと:ActivePerl5.8.8上でmod_perl2をインストールしようとし、
ppm> rep
Repositories:
[1] theoryx5.uwinnipeg.ca
...
[7] Autonamed 2
ppm> search mod_perl
Using cached search result set 1.
1. Apache-mod_perl_gui~ [1.31] mod_perl Guide
2. mod_perl [2.0.3] Embed a Perl interpreter in the Apache/2.2~
3. mod_perl [1.29_01~ Embed a Perl interpreter in the Apache/1.3~
....
ppm> install 2
Package 2:
====================
Install 'mod_perl' version 2.0.3 in ActivePerl 5.8.8.817.
====================
Downloaded 2886493 bytes.
Extracting 737/737: blib
Error: can't run 'C:\Perl\bin\perl.exe install_script': No such file
or directory
となったので、「"install_script" ActivePerl」でググってみたりしたのですが、
どこに問題があるのか特定できませんでした。
次のアクションをご教示ください。よろしくお願いいたします。
0459457
2007/10/21(日) 11:18:08ID:xMq+XN4p入ってます。
0460nobodyさん
2007/10/21(日) 11:19:32ID:???ん?うちでは問題なくinstallできるべ。
>>458が言ってるみたいに、
Apache2.2じゃなくて、Apache2.0にmod_perl入れたかったら、ppm install mod_perl2.0 ってしなきゃだめよ。
ちなみにひとつ言っとくが、Win版の2.0.61,2.2.6では両方とも、theory58Sのmod_perlは正常に動作しないべ。
あと、install_scriptってのはこれのこと
http://theoryx5.uwinnipeg.ca/ppms/scripts/install_modperl
0461nobodyさん
2007/10/21(日) 11:32:16ID:???で、もっかい、今度は、(threory58Sはreposにいれてるんだよな?)
ppm install mod_perl ってやってみ。
0462nobodyさん
2007/10/21(日) 11:43:40ID:???0463どうしてパンチラが流出?
2007/10/21(日) 14:04:29ID:???/´_ `ヽ、 ,ィ''´ ̄ハ、i,/lヽ、 l!
,ィ´/'´/::/:::ラ./ / /!イソ !i .ハ /
/゙ ! ' ::´:::::::|:// / ,イ /!"゙ヾ|リ i メ
! | :: ::::::ri/| |:::i|ハ i.|| i,/|! _//!:::|::::|
| :: .::イリノハ ::!lィl丙`|/ |、 _ハ/::/:::;/
i ; ::::レl/ !,ヾ、! ゙'゚┘ 尤i'/,' / 20万人くらいが見ちゃったパンチラ!?
/ !..:::::l/ ::::アi. 、 , ゙‐'ソ'"'´ 元女子アナウンサー丸川珠代さん(白パンティー)
ト、_// :::|:::::/ ::::://^ヽ、 ~ ,.ィi′ http://ex21.2ch.net/test/read.cgi/ana/1191988450/9
`ー'ナ/.:/::::/ ::::/´! ヾ "´l:::l|
i / .:|:::/ :::;ィ/ |! ヽ:::!:riト、_, 日本人でよかった♪ 白でよかたーーー!
!| /:|/ .//! ,!| ヽ ヾ、,リ この番組で有名となった参議院議員(東京)のまるたまさん
| | //:::/:::! ! \. \ ヽ\ http://love6.2ch.net/test/read.cgi/furin/1148694809/174
ヾ// ::::/:::::|ノ _二;ヽ ゙、 ,}
オ′:::i :::::::|/ ̄ \ ヾー-、 たけしさんとツーショットのまるちゃんに注目!(白パンティー)
/ | :: ::|::::::::::! ハ iヽ i でも、小泉チルドレン筆頭の
i | ::|:::::::::リ ,イバー‐'′! ヽ 佐藤ゆかりタン萌えパンチラは無いよーーーーーーん
! |i : :|:::::ノ i /ハ | / | \
ヾ _,, !<_. { ///" ヽ
_,. ‐''";;;;;;;,:'";;;;;/ ゙̄T''''r-レ \ _ i
ヾ"、_;;;;_,;:'";;;;;;;;;;/;;;;;;;;;i;;;;;l;;;;;| }=ニl!;;ト、 /
ヾ;;;;;;/`''ー--ヶ、;;;;;;シ;;;;;;|;;;;;;! ぐー`"ヽ!
ヾi' / ヾ、;;;;;;;/;;;;;;;| 〈´  ̄~゙'''┘
;ヘ , i ゙\;;;;;;;;;ハェュj パンチラ規制厨と闘ってます
! `ヽ、'_,{_ ゙\;;;;;| http://qb5.2ch.net/test/read.cgi/sec2chd/1192266095/639
0464457
2007/10/21(日) 15:13:46ID:xMq+XN4pやはり無理でした。
>>462
再確認しましたがapache2.2です。
--------------------------------------------
やむを得ず、「何かカオスな理由でトラブルが起きた」ということにして、
ActivePerlのリインストールという強硬手段に出ました。
その結果、無事インストールできました。
結局、問題の原因はミステリーのままに。^^;
アドバイスくださった方、ありがとうございました。
0465nu.
2007/10/21(日) 15:30:36ID:hpzcI35POceanGrid形式の動画を録画するにはどうしたらいいですか?
また録画出来るものなのでしょうか…?
よろしくお願い致します。
046610い
2007/10/21(日) 19:05:50ID:???if( $ENV{'HTTP_USER_AGENT'} =~/bot|twiceler/){&zap;}
上みたいなのがあったとして、 USER_AGETNに、bot かtwiceler があると。
って感じなのですが、これですと例えば、Googlebotが来ると一致してしまいます。
bot以外の Googlebot や 1bot、 bots などに合致させない方法はありますか?
ifからの文はなるべく変えない方法を教えてください。
できれば、=~// この中の範囲内の変更でできないでしょうか。よろしくお願いします
0467nobodyさん
2007/10/21(日) 19:16:00ID:???これを条件に加えるのがわかりやすくないかな
046810い
2007/10/21(日) 19:37:52ID:???467さんが書かれたのは、botに一致しないのでしょうか?
test下のですが and にエラーがでてしまい結果がでません
Premature end of script header
s: /home/oo/public_html/index.cgi
syntax error at /home/oo/public_html/index.cgi line 462, near "and"
Execution of /home/oo/public_html/index.cgi aborted due to compilation errors.
前後の流れは
if( $ENV{'HTTP_USER_AGENT'} =~/bot|twiceler/){&zap;}
else{&zap2;exit;}
のifからの部分を
and $ENV{'HTTP_USER_AGENT'}!~/Googlebot|1bot|bots/){&zap;}のように変えてエラーです
0469nobodyさん
2007/10/21(日) 19:43:45ID:???047010い
2007/10/21(日) 19:51:36ID:???syntax error at /home/oo/public_html/index.cgi line 462, near "=> &&"
です
$perl -version
This is perl, version 5.005_03 built for i386-freebsd
apache はApache/1.3.39 です
パールを最新にしてみます
0471nobodyさん
2007/10/21(日) 19:58:24ID:???$ENV{'HTTP_USER_AGENT'}!~/Googlebot|1bot|bots/){&zap;}
エラー出ないよ
047210い
2007/10/21(日) 20:18:23ID:???取り急ぎ
andから書いてました
perlのアップグレードを始めてしまってなかなか終わらないので
終わったら試して確認してみます
047310い
2007/10/21(日) 21:22:35ID:???perlのバージョンじゃなくて書き方が違っていたようです
!~/hoge/ の意味を教えてください
0474nobodyさん
2007/10/21(日) 21:58:00ID:???0476nobodyさん
2007/10/23(火) 20:50:38ID:???0477nobodyさん
2007/10/23(火) 21:36:17ID:???0478nobodyさん
2007/10/23(火) 21:54:51ID:???すいません、
sub write {
my $name = $_[0], $data = null;
if ( $_[1]が配列かどうかを確認したい ) { $data = join( "\n", $_[1] ) }
else { $data = $_[1] }
open( OUT, ">$name" ) || return 1;
print OUT $data;
close( OUT );
return 0;
}
のようにして、ifのところで、$_[1]が配列かどうかを確認したいのですが・・・・・
wantarrayの使い方がいまいち理解できませんでした。
このような場合は、どのようにすればよいのでしょうか
0479nobodyさん
2007/10/23(火) 23:15:24ID:???「$_[1] が配列」ってPerlの言語仕様上ありえないわけだが?
$_[1]が配列のリファレンスか否かってんであれば、
if ( ref $_[1] eq 'ARRAY' ){ }
まあ、ソースを拝見した所、おそらく
&write( 'name', @data ) ;
あたりで呼ぶんだろから、
my $name = shift @_ ;
my $data = undef ;
if ( @_ >= 1 ){ $data = join( "\n", @_ ) ;}
でいいんじゃね?
余分なことだが、
1. write は perl ですでに使われてるので他の名前にした方がいい。
2. 、、、、まあいいや。
0480nobodyさん
2007/10/24(水) 13:14:01ID:nBn+cskBttp://yoshihi6.com/perl/?q=http%3A%2F%2Fja.wikipedia.org%2Fwiki%2FPerl
0482nobodyさん
2007/10/25(木) 17:20:59ID:ZciT02o+@org[0..2]のリファレンスを作るとして、
イメージは$ref = \@org[0..2];みたいなことなんですが・・・
0483nobodyさん
2007/10/25(木) 18:16:27ID:???0485nobodyさん
2007/10/26(金) 10:43:23ID:HBlkZ3uQ検索結果の一覧画面Aで、リンク文字列からは検索結果をCSVファイルに出力しようとしてます。
HTMLタグで、リンク先にURL引数として動的に実行時の回数を渡します。
↓----
<a href="data.cgi?num=(実行時の回数)>CSVデータ出力</a>
----
そして、実行回数とSQLをセッション変数に保存します。
↓----
# 一覧画面Aの実行回数を更新
my $numListA = $session->param('numListA');
++$numListA;
$session->param("numListA", $numListA);
# 一覧画面のN回目の実行時のSQLを保存
$session->param('ListAsql', $sql);
----
現状は上記のようにしてますが、これはまだ単一のSQLしか格納できない状態です。
これを配列でN番目の要素にSQLをを格納したいと考えてます。
0486nobodyさん
2007/10/26(金) 13:37:59ID:???CGI-Sessionではたしか配列はリファレンス渡しだったと思う。
最初に↓こう準備しておいて
$arrayref = []; #初期化式
$session->('sql', $arrayref); #セッションに格納
その都度
$$arrayref[0] = $sql;
$$arrayref[1] = $sql;
$$arrayref[n] = $sql;
でいけるかも?
0487nobodyさん
2007/10/26(金) 17:05:53ID:1fUnrvio#!C:/Perl/bin/perl
require "cgi-lib.pl";
&ReadParse(*input);
@list={$input{'a'},$input{'b'},$input{'c'}}
$result=0;
foreach $value (@list) {
if($value == 0){$result++;}
elsif($value == 1){$result=$result+2;}
else{$result=$result+3;}
}
if($result<=1){$message = "文章1";}
elsif(($result>=2)&&($result<=4)){$message = "文章2";}
else{$message = "文章3";}
inputにはラジオボタンから0〜2の値が送られてくるように設定してあります。
messageが結果として表示されるようにしてあるんですが何度やってもエラーがでてしまいます。
どこが間違ってるのでしょうか?
0488nobodyさん
2007/10/26(金) 18:26:02ID:???0489nobodyさん
2007/11/01(木) 10:55:03ID:yhsG2JfPhtml..plの中でinfo.plを使いたいのですがどうしたら良いのでしょうか。
下のような感じではうまくいきませんでした。
==index.cgi==
#!/usr/bin/perl
require "./html.pl";
&html::header();
==html.pl==
Package html;
require "./info.pl";
sub header(){
print $header;
}
1;
==info.pl==
$header="Content-type:text/html¥n¥n";
0490nobodyさん
2007/11/01(木) 11:10:49ID:???PackageのPを小文字にすればいいと思うよ
0491nobodyさん
2007/11/01(木) 11:19:21ID:yhsG2JfPpackageのpは実際のソースのほうは小文字になってました。
投稿ミスorz
あとinfo.plの1;も投稿時の書き忘れです。
構造??
0492489
2007/11/01(木) 12:16:29ID:???print $header;を
print $main::header;
にしたところ、Content-type:text/html¥n¥nが出力されました。
0493nobodyさん
2007/11/01(木) 19:49:10ID:???index.cgiで出力の制御
html.plでHTML文書の構造制御
info.plでHTML文書の内容を制御
にした方が構造的には綺麗にまとまるとオモ。
0494nobodyさん
2007/11/03(土) 04:03:09ID:0ypwQ9jZ0495nobodyさん
2007/11/03(土) 04:35:48ID:???0497nobodyさん
2007/11/08(木) 09:06:26ID:???1週間前にcgiを知りましてなんとか1語ではできるようになったのですが・・・
ヒントでは理解できそうもないのでずばり回答でお願いします。
# 禁止メールアドレスチェック
if ($in{'email'} =~ /yahoo/) {
&error("フリーメールはダメ");
}
0498nobodyさん
2007/11/08(木) 12:50:47ID:???0500nobodyさん
2007/11/20(火) 17:27:42ID:???Perl 5.8.2 CGI::Lite 2.02 を使って、うpローダを作ったんです。
ttp://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%2FCGI%3A%3ALite#i2
を参考にバイナリ対応パッチは行いました。
Windowsだとうまく動いています。MacOSXからだと、0Dが0Aに化けます。
パッチが足りてない部分があるのでしょうか?
どこをなおせばうまく行きそうですか?
0501500
2007/11/20(火) 18:07:03ID:???・Mac OSX 10.4.11 (不明)の FireFox 2.0.0.9 からアップでデータ化け発生。(別の場所)
・Mac OSX 10.4.10 (Intel)の FireFox 2.0.0.9 からアップでデータ化けなし。(漏れ)
現在の状況:検証のために漏れのMacOSXを10.4.11へアップデータン中。
もしかすると、Perl側が原因じゃないかもしれないんで、Mac板でも情報集めして見ます。
0502nobodyさん
2007/11/20(火) 18:57:03ID:???0503nobodyさん
2007/11/20(火) 19:45:06ID:???ttp://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%2FCGI%3A%3ALite#i13
CGI::LiteとCGI_Lite
CGI::LiteモジュールはCGI_Liteモジュールの後継になります。 CGI::Lite v2.0とCGI_Lite v1.9の違いは(ソースレベルで見ても)以下の3点だけです。
* パッケージ名
* バージョン番号
* ドキュメント内での記述(パッケージ名、バージョン、更新日付)
CGI_Liteに関する情報は、99%までそのままCGI::Liteにも適用できます。なお、CGI::Lite 2.02版からは少しずつ修正が加わり始めています。
0504nobodyさん
2007/11/20(火) 21:37:27ID:???0505nobodyさん
2007/11/27(火) 00:40:39ID:???ログにOut of memory!ってでたんですけどどうすれば直りますか?
0506nobodyさん
2007/11/27(火) 08:35:46ID:???0507505
2007/11/27(火) 13:35:14ID:???ttp://park1.wakwak.com/~aa1/wwwolf/
鯖スペック
CPU:Pentium-M 1.4GHz
メモリ:768MB
HDD:80GB
0508nobodyさん
2007/11/27(火) 14:09:42ID:???現在2つのテーブルデータがありまして,
片方がID付きの参照テーブルになってまして,片方がログデータになってます.
ログデータを読み込んで,参照テーブルのいくつかのカラムを比較し,同一の
データを持つもつデータの参照IDを投げるという処理を行ってます.
現在ログデータを1行ごとに取り出し,その一回一回に参照テーブルを一致させるまでループして比較するという処理を行ってますが,
データの量もあり時間がかかりすぎて仕方ありません.何か良い方法はないでしょうか
イメージとしては以下の通りです.
この例ではログテーブルの2番目,3番目,4番目の文字を,参照テーブルの2番目,3番目,4番目と比較し
一致したら,参照テーブルの1番目のIDを出力してあげるといった形です.
ログテーブル
1107,A,B,C
1108,C,A,D
1109,A,C,B
1110,A,B,C
参照テーブル
1,A,B,C
2,A,C,B
3,C,A,D
出力データ
1107,1
1108,3
1109,2
1110,1
0509nobodyさん
2007/11/27(火) 17:03:00ID:???my $log = <<'EOF' ;
1107,A,B,C
1108,C,A,D
1109,A,C,B
1110,A,B,C
EOF
my %table = reverse map{ split /,/, $_,2 } split /\n/, <<'EOF' ;
1,A,B,C
2,A,C,B
3,C,A,D
EOF
printf "%s\n", join ',', map{ $table{$_} || $_ } split /,/, $_, 2 for split /\n/, $log ;
文字通り参照テーブルをテーブルにするだけだよ。
>>507
人狼の掲示板で聞くのがスジだ。
インストールし忘れ(jcode.plなんか)とかチェックポイントが多すぎて答える気にもならん。
0510508
2007/11/27(火) 20:31:16ID:???有難うございました.
実際やってみまして上の例ではちゃんと出力できたことは確認しました。
しかし%tableの意味するところが勉強不足でちょっと分かりませんでした。
変数等をいじったりしてみたのですが
お恥ずかしいところですが、具体的にどのような処理を行っているのか教えて頂けると
幸いです。
0511nobodyさん
2007/11/28(水) 00:13:10ID:???「改行区切りのデータをsplit して無名配列に入れ(split...)
その要素を最初の,だけで区切って更に無名配列として返し(map{})
結果として必ず偶数個となっている配列をhashと見なしreverse(reverse)
それを%tableと云うhashに収納。」
printf~~の行。
「$logを改行にてsplitして無名配列に入れ(forの後のsplit...)
それをfor修飾子にてループ(for)。
その各要素を最初の,だけで区切って無名配列に入れ(forの前のsplit...)
その無名配列の要素をkeyとして
テーブルにデータがあればテーブルのデータを返し、
なけれはそのまま要素を返す(map{})##
で,でjoinして(join...)
printf で整形してprint out(printf)」
## は真面目に $_[1] だけ table見に行かすべきなんだけど
メンドかったから、、、
EOF云々は「ヒアドキュメント」
まずは本でhashを覚えるんだ。
■ このスレッドは過去ログ倉庫に格納されています