くだすれPerl(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/09/10(日) 13:33:48ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Perl使いが優しくコメントを返しますが、
お礼はPerlの布教と初心者の救済をお願いします。
0237nobodyさん
2007/07/13(金) 22:29:23ID:???何故貴方に感想を書くことを
制限されなければならないのですか?
ここはあなたの掲示板なのですか?
スレッドに帰属意識でも持ってるお馬鹿さんですか?
0240nobodyさん
2007/07/14(土) 07:16:10ID:???0242獅子王
2007/07/15(日) 18:51:36ID:EW+ZDItZ他のところではちょっと僕の質問の仕方が無礼だったようなのでここで質問させてください。
実はつい先日perlをダウンロードするために配布サイトまで行ったのですが
英語尽くしで何がなんだかわかりません。どうも僕にperlのダウンロード
の仕方を教えていただけませんでしょうか?長々とスイマセン。
0243nobodyさん
2007/07/15(日) 19:59:41ID:???ActivePerlのGet Current Release→Download→continue→Windows (x86) MSI
0244nobodyさん
2007/07/15(日) 20:40:29ID:???0245nobodyさん
2007/07/15(日) 21:09:48ID:???2. 習慣としてMacならMacと断りを入れる
3. 傾向としてWindowsユーザだけがこのような質問をする
というわけで>244はアスペルガー症候群という自閉症だと思われる。
ttp://www.autism.jp/asp/
>子どもでも大人でも社会生活には暗黙のルールがあります。暗黙のルールがわからないために
>他の子どもから嫌われたりいじめられるアスペルガー症候群の子どもが多いのです。
>その場で何が話題になっているか、言外の意味を汲み取ることが苦手なのでどうとでもとれる
>曖昧な質問には答えることが難しいのです。問いかけはなるべく具体的にする必要があります。
0248nobodyさん
2007/07/16(月) 13:46:04ID:???ホントばかだなオマエは。
その1以外のために「暗黙のルール」や「言外の意味」に関する見解を示したんだよ。
1だけならたしかに後半は余計だった。
0249nobodyさん
2007/07/16(月) 13:57:35ID:???>>244のような発言が出るのだろうし、もし>>243で
「OSぐらい書け」
と言っていたら、ギャラリーの八割が
「Windowsに決まってるだろ」
と思うわけ。そういう当たり前の常識がオマエには無いんだよ。なぜなら脳に障害があるから。
>>244の脳に障害があることを前提に、極めてわかりやすく、リンクに要点の引用まで付けて
"暗黙のルール" の具体例を示したのに、それでも結局
「1以外は妄想だな。 」
と来る。妄想じゃなくて、暗黙の了解なんだよね。
要するにバカには言葉が通じないので、バカが死ねと言い続けるしか無いんだな。
0250nobodyさん
2007/07/16(月) 14:15:09ID:???初期でPerlが入っていない主要OSはWindowsのみ。>>244みたいな筋金入りのバカは
「Linuxでもカスタムインストールなら」
と言うかもしれないが、Linuxでは主要なアプリケーションでPerlが使われており、Perlは
対象から外せないか、外したつもりでも他のAPの依存関係で結局インストールされる。
試しにLinuxでPerl消してみろよ。yumもaptも動かなくなるから。
なんでこんなバカが人前で発言する気になるんだろう。
0251nobodyさん
2007/07/16(月) 17:32:45ID:Pd2envQf0252nobodyさん
2007/07/16(月) 18:05:34ID:???後付けで何とか体面を整えようと必死杉。笑う。
これを裏付けるデータあるかね。お前さんの脳内以外に。
> 2. 習慣としてMacならMacと断りを入れる
> 3. 傾向としてWindowsユーザだけがこのような質問をする
0253nobodyさん
2007/07/16(月) 18:50:59ID:???0254246
2007/07/17(火) 01:15:15ID:???あーあ、結局荒れるのか。いいかげんモチツケ。
>>247
アスペルガー症候群の事か?藻前の煽りも余計だ。荒れる素だからヤメレ。
0255nobodyさん
2007/07/18(水) 12:20:06ID:???オマエ無様だからそろそろ己の低スキルを自覚して自殺しろよ。
オマエの人真似の言葉なんて誰の役にも立ちゃしないし、生きていても意味が無い。
>>254
「荒れる」のハードルも低くなったもんだなぁ。これはせいぜい教育的指導の域を出ない。
>>244みたいな典型的なバカが匿名を盾に人並みに発言するのが社会にとって最も有害。
ノーテクはノーテクだから>>252のように技術以外の部分に必死で食らいつく他に無い。
先に絡んで来たのは>>244なのだし、オレは知ったこっちゃない。
0256nobodyさん
2007/07/18(水) 12:58:42ID:???「OSを指定しないPerlの新規インストールに関する質問には当然OSを尋ねるべきである」
1. Linux、Solaris、OSXは通常プリインストールである
2. したがって質問者の使用OSがWindowsである確率はシェアから約99%超と考えられる
3. 1%の可能性のためにOSを尋ねる場合、回答到達までに3フェーズ必要となる
(OS問合せ->OS回答->URI回答)
4. したがってスレタイに関係なく、この場合OS名を尋ねる者は鬱陶しくも痛いバカである
反論があれば個別にどうぞ。
それとは別にPerlに関するくだらない質問は勝手に訊いてください。
0257nobodyさん
2007/07/18(水) 16:34:28ID:???0258nobodyさん
2007/07/19(木) 18:35:22ID:IU8VyPgYtop.htmlのページからindex.cgiを通してサブルーチンで分岐してa.htmlとb.htmlを
出力したいのですがどうすればいいか詰まってしまいました。
例えば、top.htmlで「男性」or「女性」をクリックしてindex.cgiでotoko.htmlと
onnna.htmlを分岐する場合、top.htmlの中身のリンクの<a href=./index.cgi>
の所になにか条件を指定してcgi内でサブルーチンで分岐できるのですか?
できるならリンクの書き方を教えて欲しいです。
わかりにくくてすんません。
0259nobodyさん
2007/07/19(木) 19:12:33ID:CIvRVShF普通にパラメータ書いて分岐させりゃ簡単に出来ると思われ。
ってか、top.htmlにotoko.htmlやonnna.htmlへの直接リンクを書かないのはなぜ?
0260259
2007/07/19(木) 19:19:01ID:IU8VyPgY直リンクじゃなくてcgiを利用して使いたかったんで^^;
すいません、パラメータってなんですか?><
0261nobodyさん
2007/07/19(木) 19:21:52ID:???実験してるって事?
ひとまず、
http://www.aikis.or.jp/~s-suzuki/cgilabo/kouza/cgi2.html#cgilabo4
これでも見て勉強汁。
0262259
2007/07/19(木) 19:28:14ID:IU8VyPgYいろいろ試してみないと気が済まない性格で^^;
0264nobodyさん
2007/07/20(金) 03:03:34ID:???0265nobodyさん
2007/07/21(土) 09:40:53ID:???妄想を真理と思い込み、他の可能性には気が廻らない。
想定外だったという理由のバグを大量生産するタイプだ。
0266nobodyさん
2007/07/21(土) 17:15:10ID:LRr3Colp0267nobodyさん
2007/07/23(月) 11:42:52ID:???#!/usr/local/bin/perl
use CGI qw(:standard);#CGIでのパラメタ受け取り等を簡単に扱うためのもの
use strict;
my$url=sample.cgi; #これ自身のファイル名にしておく
my$name = param('name'); #フォームからの名前投稿をパラメタとして受け取り
# 以下、投稿フォーム。
#form action="$url" は、submitボタンを押した時に飛ぶ場所
#name="name" は、パラメタ名
print my$a= <<EOM;
Content-type: text/html\n\n
<html><head>
</head><body>
<form action="$url" method="POST">
名前<input type="text" size=10 maxlength="7" name="name"><br>
<input type="submit" value="投稿" name="toukou"></form><hr>
EOM
# 以下、表示。
#もしも$nameがあれば(パラメタとしてでも$nameを受け取っていれば)$nameを表示
if($name){
print$name;
}
0268nobodyさん
2007/07/23(月) 12:05:29ID:???>>259でなく>>258。
上はただのパラメタの使い方。
フォームを
<form action="$url" method="POST">
<input type=radio name=seibetu value otoko >
<input type=radio name=seibetu value onna >
<input type=submit value=投稿>
</form>
とすれば、投稿ボタンが押されたときに$urlのURLに飛んで、パラメタ名seibetuにotokoかonnaを入れて渡すことが出来る。
受け取り側は
my$seibetu = param('seibetu');#パラメタ受け取り
if($seibetu eq otoko){
#パラメタがotokoだった場合の処理
}
elsif($seibetu eq onna){
#パラメタがonnaだった場合の処理
}
デバッグしてないから文法ミスがあるかもしれないが、こんな感じで
0269nobodyさん
2007/07/23(月) 12:26:23ID:???>>261のリンク先に、getが使用されにくい理由に
・環境変数には長さに制限があるので、getの場合途中でパラメータが切れることがある
・ブラウザがIEの時、フォームに<TEXTAREA>があるときはGETは使えない
・postの場合、パラメータの長さが。環境変数 CONTENT_LENGTH に格納される
とあるが、getはURLエンコードして、見える状態で渡されるから、悪意ある第三者に利用される可能性がある。
セキュリティの面から言ってもpostを使ったほうがいい。
もっと言うなら、「getもpostも両方の扱い覚えるのマンドクセ」ってときはpostの扱いだけ覚えればいい。
以上、駄文スマソン
0270258
2007/07/23(月) 16:22:00ID:dzTqHpzl#! c:/perl/bin/perl
$buffer = $ENV{'QUERY_STRING'};
if($buffer eq 1) {
otoko()};
if($buffer eq 2) {
onna()};
sub otoko{
print "Content-type: text/html\n\n";
print "<HTML><HEAD>";
print "<TITLE>CGI-TEST</TITLE>";
print "<BODY>\n";
print "$buffer 男性<br>";
print "</BODY></HTML>";
exit;
}
sub onna{
print "Content-type: text/html\n\n";
print "<HTML><HEAD>";
print "<TITLE>CGI-TEST</TITLE>";
print "<BODY>\n";
print "$buffer 女性<br>";
print "</BODY></HTML>";
exit;
}
0271nobodyさん
2007/07/23(月) 19:24:19ID:ZBWpUMJL早2年
そんな自分に嫌気がさす。
てかActivePerlとMySQLのインスコが難しすぎる。
何度やっても失敗ばっかりだ。
俺の人生を象徴しているかのよう。悔しいぜ。
0272nobodyさん
2007/07/23(月) 20:36:30ID:vSTTUlTw基本的なことなんだけど考え付かなくなってしまったので
発想力をちょっと貸してください。
HTTPリクエストして、BODY部分だけ表示させたいのですが
HEAD部分を表示させないようにSOCKETを
while (<$SOCKET>){ m/^\r\n$/ and last; }
print <$SOCKET>;
こんな感じでHEAD部分はループさせて抜けてから
BODY部分をprintさせるうえで
while使わずにやる方法としてはどうやりますか?
do{}whileやuntilでも出来ると思うんですが
何故かHEAD部分から全部表示されたり、無限ループに突入したりします。
難しいものじゃないはずなのに何故か書けない罠にはまった感じです。
発想力をちょっと貸してください。
0274nobodyさん
2007/07/23(月) 22:19:18ID:???ソケットとかややこしそうで足踏み入れてなかったが、ソケットのヘッダとボディは
"Content-type: text/html\n\n";
となってるんだよな?
\n\nと、改行が2個あるところで判断すればいいと思う。
この改行は\nであって\r\nでは無理だと思う。
my$ppp = my@socket = <$SOCKET>;
for (0..$ppp-1){
if($socket[$_]=m/^\n$/){last}
shift @socket;
}
print @socket;
↑これでイケル希ガス。つかもっといい方法を思いたったので次に書く。
おそらく、HTMLで表示するんだろうから、chompで改行文字を消してもいいんだよね?
my@socket = chomp(<$SOCKET>); #改行文字だけの部分はchompでカラになる。
while(@socket){shift @socket} #@socketで要素が何も無い場所に来るとwhile文がfalseとなりループは終わり、shiftも終わる。
#@socketの0個目の要素は何もカラ、1個目からの要素は改行を取り除いたボディ部分。
ちゃんと動作するか知らんが、初心者同士がんがろうぜ
0275nobodyさん
2007/07/23(月) 22:30:09ID:???○ソケットのヘッダとボディの区切りは
>>274で、もしおかしなこと言ってたらスマソ。
そもそもソケットとかHTTPリクエストとかよく知らんのに答えてもた。
0277nobodyさん
2007/07/24(火) 09:28:58ID:???純粋にhtmlの<HEAD><BODY>の話なんじゃまいか
0278nobodyさん
2007/07/24(火) 10:22:47ID:???そこの
07:
08:<http>
09:<head>
10:(以下省略)
みたいになってて</head>まで削除して<body>から残したいと。
なら>>274を改造して
my@socket = <$SOCKET>;
for (0..$#socket){
if($socket[$_]=m~/^<body>\n$/i){last}
shift @socket;
}
print @socket; #<body>以下を表示
でいいんじゃまいか
0279258
2007/07/25(水) 14:52:50ID:pV3pjlQZjcode.plって日本語に変換するプログラムですよね?
英語に変換するものや中国語に変換するものもあるんですか?
英語に変換するものや中国語に変換するものもあるなら
ほしいので知っている方いたらお願いします。
0280nobodyさん
2007/07/25(水) 15:02:01ID:???文字コードの変換≠翻訳
いやー、夏だねえ・・・
0281nobodyさん
2007/07/25(水) 15:52:28ID:???0282258
2007/07/25(水) 16:39:08ID:pV3pjlQZjcode.plにつながっているからかな・・文字化けしてしまう。
$ENV{'CONTENT_TYPE'}
これってなんかの文字コードが格納されているのですか?
0283nobodyさん
2007/07/25(水) 16:46:44ID:???中身は、text/html; charset=Shift_JIS
とかだよ
0284258
2007/07/25(水) 17:03:43ID:pV3pjlQZelse { $buffer = $ENV{'QUERY_STRING'}; }
if ($buffer eq "") { &error('アクセスエラー');}
if($ENV{'CONTENT_TYPE'} !~ /multipart\/form-data; boundary=------------/){
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name,$value) = split(/=/, $pair);
$name2 = $name;
$value2 = $value;
$QUERY2{$name} = $value;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value = change_i_pic_sym($value);
こんな感じになってます。
$ENV{'CONTENT_TYPE'} の、ところをtext/html; charset=Shift_JIS
にしてutf-8にしたいからtext/html; charset=utf-8
に、すれば文字化けふせげますかね?
やってみます。
0285258
2007/07/25(水) 17:10:29ID:pV3pjlQZ無理なのかなぁ・・
0286nobodyさん
2007/07/25(水) 17:11:38ID:???元々何の質問なの?文字化けって何が化けてるの?
0287nobodyさん
2007/07/25(水) 17:16:13ID:???and tweaks to the PHP Manual, including:
http://jp.php.net/
これのproud toって誇りを持ってとか、プライドを持ってとかの意味?
たまにPHPトップのニュースに出てくるけど、そこまで大げさに言わなくてもいいんじゃないの?
0288287
2007/07/25(水) 17:23:15ID:???PHPスレと間違えた
0289258
2007/07/25(水) 17:28:38ID:pV3pjlQZコピペしたんだけどjcode.plにコード変換処理させていてrog.cgiの
ファイルがutf-8にしてあるから文字化けしてるのかなと思い・・
jcode.plをutf-8に対応できるプロトコル?にできればいいんですが
それがどうしていいかわからなくて。説明へたですんまそん。
ほかのcgiファイルにはいってるhtmlはtext/html; charset=utf-8
で文字化けしてないけどrog.cgiを通って出力するhtmlは文字化けしてしまうので・・
0290nobodyさん
2007/07/25(水) 17:42:59ID:???さすが「くだすれ」ww
ものすごいレベルの低さだwww
0291nobodyさん
2007/07/25(水) 18:32:34ID:???少しの変更で移行できる。
その後UTF-8に対応だ。
0293nobodyさん
2007/07/27(金) 17:51:08ID:lN7iMdmd超初心者以前の問題ですみません
0294nobodyさん
2007/07/27(金) 18:03:04ID:???0296nobodyさん
2007/07/27(金) 18:26:21ID:???web上にアップロードして実行するんですか?
0297nobodyさん
2007/07/27(金) 18:33:25ID:???0298nobodyさん
2007/07/27(金) 18:40:42ID:???この板的には、とりあえずhttpサーバ入れて設定するのがいいのでは
0299nobodyさん
2007/07/27(金) 21:08:35ID:???現状を言うと、ActivePerlはインストール完了、
#!/usr/bin/perl
print "Hello, world!\n;
をActivePerlでできたフォルダにhello.plで保存。
再起動済み、次にどうすればいいのでしょうか・・・
ちなみにOSはvistaです。
0300nobodyさん
2007/07/27(金) 21:41:25ID:???0301nobodyさん
2007/07/27(金) 22:07:58ID:???関連付けが正常に行われていれば
(plのファイルのアイコンがトカゲになっていれば)
ダブルクリックで実行。
ただし、
print "Hello, world!\n";
とすること。
1行目は不要。
0302nobodyさん
2007/07/27(金) 23:38:19ID:lN7iMdmdアイコンはトカゲになってます。
ダブルクリックすると開いた瞬間閉じてしまうのは仕様なんでしょうか?
print "Hello, world!\n"; で実行しましたが、結果はどうなってるのやら・・・・orz
0303nobodyさん
2007/07/28(土) 00:46:08ID:???先に開いてあるプロンプトから実行しないと、すぐに閉じてみえなくなります。
sleep 5;と入れれば幸せになれますか?
0304nobodyさん
2007/07/28(土) 07:29:47ID:???for文で繰り返し処理しようと思ったのですがうまくいきません
my %input;
&ReadParse(\%input);
for (1..20) {
$MORAU[&_] = $input{'&_'};
}
やっぱり根本的に間違えてるんでしょうか
0306nobodyさん
2007/07/28(土) 11:42:32ID:YzZLztvi先に開いてあるプロンプトから実行・・・・・・・といいますと?
すみません orz
0307nobodyさん
2007/07/28(土) 14:46:24ID:???まさか日本語が判らないのかね。
謝る前にもう少し質問を明瞭にするべきじゃないかね。
とりあえずprint文の次に>>303のコマンドを入れてみてはどうかね。
0308名無しさん@そうだ選挙に行こう
2007/07/29(日) 04:34:03ID:???0309名無しさん@そうだ選挙に行こう
2007/07/29(日) 08:43:45ID:???0310名無しさん@そうだ選挙に行こう
2007/07/29(日) 11:16:38ID:???つ[ http://www.vmware.com/ja/products/player/ ]
つ[ http://blog.yasaka.com/archives/2005/10/vmware_playervi.html ]
0311nobodyさん
2007/07/31(火) 00:29:12ID:pMcNAP1Aそんな自分も歓迎してくれるらしいと聞いてやってきました。
ActivePerlがインストールできません。
サイトから5.8.8のMSIじゃない方ダウソしたのですが
インストール用のバッチファイル実行中に次のエラーが出て終了。
「Can't spawn "command.com":Not such file or directory at (どう見ても
実行中のバッチファイル自身のアドレス) line 272,<STDIN> line 7.」
なに探してるんだよ。orz
解決法ピンとくる方がいたらば教えてください。
スレチなら誘導たのんます…
0312nobodyさん
2007/07/31(火) 01:10:27ID:???0313311
2007/07/31(火) 01:25:27ID:???おとつい他スレで笑われたけど…orz
0314nobodyさん
2007/07/31(火) 01:36:13ID:???0315nobodyさん
2007/07/31(火) 01:41:39ID:???今チャレンジしてるやつが一応一番進んでるっぽいです。
インストールしてます→エラーです とな。
0316nobodyさん
2007/07/31(火) 01:44:51ID:???どこから来たかを先に書こうよ。同じ問答しなくてよくなるんだから。
かぶってる住人も…いや、くだすれにはあまりいないのか?
Perlについての質問箱 31箱目
http://pc11.2ch.net/test/read.cgi/tech/1181500187/685-694
向こうはこのあと謎の流れになったんだよなあ…。
0317311
2007/07/31(火) 02:03:23ID:???初心者むけスレあったんかいと思って移動。
0318nobodyさん
2007/07/31(火) 03:35:48ID:???> 「Can't spawn "command.com":Not such file or directory at (どう見ても
> 実行中のバッチファイル自身のアドレス) line 272,<STDIN> line 7.」
これって
my $cmd = "xcopy /q /r /i /e /k Perl\\* \"$prefix\" ";
system($cmd) && die "$!\n";
↑この辺になるんだが、xcopy.exe がないとかいうことはないよな?
すまんが画面に出てくる途中経過のメッセージの、アボートするちょっと前から
アボートするまで貼り付けてくれ。
0319311
2007/07/31(火) 04:12:50ID:???xcopy.exeもよくわかんないけども
...
Add the Perl\site\bin and directories to Path?[yes]
Proceed?[yes]
Ok.
Installong ActivePerl...
Copying files...
Can't spawn "command.com":Not such file or directory at (どう見ても以下略
...
って出てます
0320nobodyさん
2007/07/31(火) 04:29:23ID:???探してみます って手に入るんだろうか。
0321nobodyさん
2007/07/31(火) 10:07:43ID:???PATH通ってないとか?ありえない気がする・・・
0322nobodyさん
2007/07/31(火) 23:24:44ID:???でもDOSで打っても使えないんだよな。
いろいろいじってみます・・・
0323nobodyさん
2007/08/01(水) 00:31:48ID:???インストーラと同じディレクトリにつっこんでみたところ少し進みました。
だがつまった…
...
Proceed?[yes]
Ok.
Installong ActivePerl...
Copying files...
Finished copying files...
Relocating...Can't open C:\Perl\bin\c2ph.bat: No such file or directory at
C:\(略)\INSTAL~1.BAT line 307, <$reloc> line 1.
...
ってなって強制終了…ハァ…
ちなみにC:\Perlには何も入ってないです。
いったい何が不味いのでしょうか。
0324nobodyさん
2007/08/01(水) 01:09:29ID:???実は64bit版落としちゃったとかじゃないよな・・・。
前スレ694も書いてたけど、Windows9x/MeだとWindowsInstaller2.0+が
要るんだけど入ってる?
http://downloads.activestate.com/contrib/Microsoft/MSI2.0/9x/InstMsiA.exe
0325nobodyさん
2007/08/01(水) 01:14:35ID:???入ってる入ってる
場所はどこでもいいんですか?
0326nobodyさん
2007/08/01(水) 01:58:42ID:???0327nobodyさん
2007/08/01(水) 02:15:59ID:???311が今試しているのはmsiじゃなくてASパッケージの方だから、
とりあえずMSインストーラーのバージョンは関係ない。
ってMSインストーラーのバージョンを上げてもう一回msiで
やればよかったりして。
0328nobodyさん
2007/08/01(水) 02:25:56ID:???> xcopyはありました、
> でもDOSで打っても使えないんだよな。
いったいまともなシステムなのかい、おまいさんの使っているのは。
Meかどうかってのはおいといても。だ。
> いったい何が不味いのでしょうか。
わけもわからず闇雲に
> COMMANDの中身をまるごと
> インストーラと同じディレクトリにつっこんでみたところ少し進みました。
こんなことやってるからだ。
バッチファイルの中身は実質Perlスクリプトなんだから、適当にいじりなさんな。
...
0330nobodyさん
2007/08/01(水) 10:18:26ID:???AUTOEXEC.BATにPATH設定しとけ
0331nobodyさん
2007/08/03(金) 16:12:48ID:???警告がでてインスコできない。
古いバージョンなら問題なくはいりました。
ただ、最新版をいれようとナニカ変なことをやらかしたようで、
ノートン先生のゴーバックつかって、インストールしてない状態にもどしてから
古いバージョンをインストールしなおしました。
もしかして、その状態なのかな?
0333nobodyさん
2007/08/04(土) 16:47:07ID:???0334nobodyさん
2007/08/04(土) 18:30:38ID:???自分が知っていることは
他人も当然知っていると思い込んでいる。
0335nobodyさん
2007/08/04(土) 19:26:37ID:???気違い認定されると嬉しいけど、アスペルガー認定も嬉しい。
0336nobodyさん
2007/08/05(日) 12:35:06ID:???クリックしてインストールしないとね。
■ このスレッドは過去ログ倉庫に格納されています