07/07/20 00:13:39
>>255
裏づけるデータはお前の脳内以外には無いんだな。
264:nobodyさん
07/07/20 03:03:34
キミもそれしか言えないのかね
265:nobodyさん
07/07/21 09:40:53
妄想でしかないんだろ。
妄想を真理と思い込み、他の可能性には気が廻らない。
想定外だったという理由のバグを大量生産するタイプだ。
266:nobodyさん
07/07/21 17:15:10 LRr3Colp
バグってきついよねぇ~。
267:nobodyさん
07/07/23 11:42:52
>>259
#!/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;
}
268:nobodyさん
07/07/23 12:05:29
アンカミスった
>>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だった場合の処理
}
デバッグしてないから文法ミスがあるかもしれないが、こんな感じで
269:nobodyさん
07/07/23 12:26:23
そうそう、
>>261のリンク先に、getが使用されにくい理由に
・環境変数には長さに制限があるので、getの場合途中でパラメータが切れることがある
・ブラウザがIEの時、フォームに<TEXTAREA>があるときはGETは使えない
・postの場合、パラメータの長さが。環境変数 CONTENT_LENGTH に格納される
とあるが、getはURLエンコードして、見える状態で渡されるから、悪意ある第三者に利用される可能性がある。
セキュリティの面から言ってもpostを使ったほうがいい。
もっと言うなら、「getもpostも両方の扱い覚えるのマンドクセ」ってときはpostの扱いだけ覚えればいい。
以上、駄文スマソン
270:258
07/07/23 16:22:00 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;
}
271:nobodyさん
07/07/23 19:24:19 ZBWpUMJL
パーミッションの設定に躓いてから なにもやらなくなって
早2年
そんな自分に嫌気がさす。
てかActivePerlとMySQLのインスコが難しすぎる。
何度やっても失敗ばっかりだ。
俺の人生を象徴しているかのよう。悔しいぜ。
272:nobodyさん
07/07/23 20:36:30 vSTTUlTw
Perl勉強しはじめて2週間。
基本的なことなんだけど考え付かなくなってしまったので
発想力をちょっと貸してください。
HTTPリクエストして、BODY部分だけ表示させたいのですが
HEAD部分を表示させないようにSOCKETを
while (<$SOCKET>){ m/^\r\n$/ and last; }
print <$SOCKET>;
こんな感じでHEAD部分はループさせて抜けてから
BODY部分をprintさせるうえで
while使わずにやる方法としてはどうやりますか?
do{}whileやuntilでも出来ると思うんですが
何故かHEAD部分から全部表示されたり、無限ループに突入したりします。
難しいものじゃないはずなのに何故か書けない罠にはまった感じです。
発想力をちょっと貸してください。
273:nobodyさん
07/07/23 21:52:25
>>272
つかまずバッファに入れてから処理しようぜ
SOCKETひらきっぱで処理するのイクナイ
274:nobodyさん
07/07/23 22:19:18
>>272
ソケットとかややこしそうで足踏み入れてなかったが、ソケットのヘッダとボディは
"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個目からの要素は改行を取り除いたボディ部分。
ちゃんと動作するか知らんが、初心者同士がんがろうぜ
275:nobodyさん
07/07/23 22:30:09
×ソケットのヘッダとボディは
○ソケットのヘッダとボディの区切りは
>>274で、もしおかしなこと言ってたらスマソ。
そもそもソケットとかHTTPリクエストとかよく知らんのに答えてもた。
276:nobodyさん
07/07/23 23:36:05
>>274
× $socket[$_]=m/^\n$/
○ $socket[$_]=~m/^\n$/
スンマソ
277:nobodyさん
07/07/24 09:28:58
HEADとBODYって言ってるからhttpヘッダじゃなくて
純粋にhtmlの<HEAD><BODY>の話なんじゃまいか
278:nobodyさん
07/07/24 10:22:47
URLリンク(www.7key.jp)
そこの
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>以下を表示
でいいんじゃまいか
279:258
07/07/25 14:52:50 pV3pjlQZ
こんにちは。質問おながいします。
jcode.plって日本語に変換するプログラムですよね?
英語に変換するものや中国語に変換するものもあるんですか?
英語に変換するものや中国語に変換するものもあるなら
ほしいので知っている方いたらお願いします。
280:nobodyさん
07/07/25 15:02:01
>279
文字コードの変換≠翻訳
いやー、夏だねえ・・・
281:nobodyさん
07/07/25 15:52:28
きっとダンくんが何とかしてくれるよ。(違
282:258
07/07/25 16:39:08 pV3pjlQZ
jcode.plにつながっているからかな・・文字化けしてしまう。
$ENV{'CONTENT_TYPE'}
これってなんかの文字コードが格納されているのですか?
283:nobodyさん
07/07/25 16:46:44
されている場合もある、かな。
中身は、text/html; charset=Shift_JIS
とかだよ
284:258
07/07/25 17:03:43 pV3pjlQZ
if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); }
else { $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
に、すれば文字化けふせげますかね?
やってみます。
285:258
07/07/25 17:10:29 pV3pjlQZ
CGIが動かなくなってしまった^^;
無理なのかなぁ・・
286:nobodyさん
07/07/25 17:11:38
なんでいきなり multipart/form-data が出てくるんだ。
元々何の質問なの?文字化けって何が化けてるの?
287:nobodyさん
07/07/25 17:16:13
The PHP documentation team is proud to present to the PHP community a few fixes
and tweaks to the PHP Manual, including:
URLリンク(jp.php.net)
これのproud toって誇りを持ってとか、プライドを持ってとかの意味?
たまにPHPトップのニュースに出てくるけど、そこまで大げさに言わなくてもいいんじゃないの?
288:287
07/07/25 17:23:15
スマソ
PHPスレと間違えた
289:258
07/07/25 17:28:38 pV3pjlQZ
さっきのプログラム(rog.cgi)はコード変換処理ってところを抜き出して
コピペしたんだけどjcode.plにコード変換処理させていてrog.cgiの
ファイルがutf-8にしてあるから文字化けしてるのかなと思い・・
jcode.plをutf-8に対応できるプロトコル?にできればいいんですが
それがどうしていいかわからなくて。説明へたですんまそん。
ほかのcgiファイルにはいってるhtmlはtext/html; charset=utf-8
で文字化けしてないけどrog.cgiを通って出力するhtmlは文字化けしてしまうので・・
290:nobodyさん
07/07/25 17:42:59
jcode.plはutf-8には対応してないから。
さすが「くだすれ」ww
ものすごいレベルの低さだwww
291:nobodyさん
07/07/25 18:32:34
まずは、jcode.plをjcode.pmに変更だ。
少しの変更で移行できる。
その後UTF-8に対応だ。
292: ◆lVJAPUTeX.
07/07/25 23:03:36
(we are) proud to... は英語の決まり文句なので、訳する場合は "proud" は無視しちゃってもいいくらいのものです。
293:nobodyさん
07/07/27 17:51:08 lN7iMdmd
/の逆の斜線はどこを押すと出てきますか、
超初心者以前の問題ですみません
294:nobodyさん
07/07/27 18:03:04
\
295:nobodyさん
07/07/27 18:03:54
>>294
それでよかったんですか。ありがとうございます。。
296:nobodyさん
07/07/27 18:26:21
書いたものの、どこで実行すればよいのでしょう?
web上にアップロードして実行するんですか?
297:nobodyさん
07/07/27 18:33:25
on your desk
298:nobodyさん
07/07/27 18:40:42
どこで実行するかも決めずにいきなり書いたのか・・・
この板的には、とりあえずhttpサーバ入れて設定するのがいいのでは
299:nobodyさん
07/07/27 21:08:35
いろいろググってみたのですが、わからないので教えてください。
現状を言うと、ActivePerlはインストール完了、
#!/usr/bin/perl
print "Hello, world!\n;
をActivePerlでできたフォルダにhello.plで保存。
再起動済み、次にどうすればいいのでしょうか・・・
ちなみにOSはvistaです。
300:nobodyさん
07/07/27 21:41:25
コーヒーを淹れる
301:nobodyさん
07/07/27 22:07:58
>>299
関連付けが正常に行われていれば
(plのファイルのアイコンがトカゲになっていれば)
ダブルクリックで実行。
ただし、
print "Hello, world!\n";
とすること。
1行目は不要。
302:nobodyさん
07/07/27 23:38:19 lN7iMdmd
>>301
アイコンはトカゲになってます。
ダブルクリックすると開いた瞬間閉じてしまうのは仕様なんでしょうか?
print "Hello, world!\n"; で実行しましたが、結果はどうなってるのやら・・・・orz
303:nobodyさん
07/07/28 00:46:08
>>302
先に開いてあるプロンプトから実行しないと、すぐに閉じてみえなくなります。
sleep 5;と入れれば幸せになれますか?
304:nobodyさん
07/07/28 07:29:47
cgi-lib.plを使って受け取ったフォームから受け取った値を
for文で繰り返し処理しようと思ったのですがうまくいきません
my %input;
&ReadParse(\%input);
for (1..20) {
$MORAU[&_] = $input{'&_'};
}
やっぱり根本的に間違えてるんでしょうか
305:nobodyさん
07/07/28 08:02:50
うん。根本的に間違えておる。
詳しくは超初心者の心理を鋭く妄想できる>>245大先生が教えてくれるだろう。
306:nobodyさん
07/07/28 11:42:32 YzZLztvi
>>303
先に開いてあるプロンプトから実行・・・・・・・といいますと?
すみません orz
307:nobodyさん
07/07/28 14:46:24
その言葉のどこが、何がわからないのかね。
まさか日本語が判らないのかね。
謝る前にもう少し質問を明瞭にするべきじゃないかね。
とりあえずprint文の次に>>303のコマンドを入れてみてはどうかね。
308:名無しさん@そうだ選挙に行こう
07/07/29 04:34:03
おまいら意地悪しないでANHTTPDとか入れるように言ってやれよw
309:名無しさん@そうだ選挙に行こう
07/07/29 08:43:45
あんなものいれるな
310:名無しさん@そうだ選挙に行こう
07/07/29 11:16:38
じゃあ、いじわるしないで、コレな。
つ[ URLリンク(www.vmware.com) ]
つ[ URLリンク(blog.yasaka.com) ]
311:nobodyさん
07/07/31 00:29:12 pMcNAP1A
Perlをはじめてもいない初心者です。
そんな自分も歓迎してくれるらしいと聞いてやってきました。
ActivePerlがインストールできません。
サイトから5.8.8のMSIじゃない方ダウソしたのですが
インストール用のバッチファイル実行中に次のエラーが出て終了。
「Can't spawn "command.com":Not such file or directory at (どう見ても
実行中のバッチファイル自身のアドレス) line 272,<STDIN> line 7.」
なに探してるんだよ。orz
解決法ピンとくる方がいたらば教えてください。
スレチなら誘導たのんます…
312:nobodyさん
07/07/31 01:10:27
こういうときは環境ぐらい書くもんだ
313:311
07/07/31 01:25:27
すません。OSはMeです。
おとつい他スレで笑われたけど…orz
314:nobodyさん
07/07/31 01:36:13
msiの使えばいいじゃない。
315:nobodyさん
07/07/31 01:41:39
だめだった。
今チャレンジしてるやつが一応一番進んでるっぽいです。
インストールしてます→エラーです とな。
316:nobodyさん
07/07/31 01:44:51
>>311
どこから来たかを先に書こうよ。同じ問答しなくてよくなるんだから。
かぶってる住人も…いや、くだすれにはあまりいないのか?
Perlについての質問箱 31箱目
スレリンク(tech板:685-694番)
向こうはこのあと謎の流れになったんだよなあ…。
317:311
07/07/31 02:03:23
それです!お世話になりました。
初心者むけスレあったんかいと思って移動。
318:nobodyさん
07/07/31 03:35:48
>>311
> 「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 がないとかいうことはないよな?
すまんが画面に出てくる途中経過のメッセージの、アボートするちょっと前から
アボートするまで貼り付けてくれ。
319:311
07/07/31 04:12:50
アボードの意味がわかんないけども
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 (どう見ても以下略
...
って出てます
320:nobodyさん
07/07/31 04:29:23
あ・そうですねなんかxcopyってのがないみたいだ…
探してみます って手に入るんだろうか。
321:nobodyさん
07/07/31 10:07:43
xcopy.exeは標準で入ってるだろ。
PATH通ってないとか?ありえない気がする・・・
322:nobodyさん
07/07/31 23:24:44
xcopyはありました、
でもDOSで打っても使えないんだよな。
いろいろいじってみます・・・
323:nobodyさん
07/08/01 00:31:48
COMMANDの中身をまるごと
インストーラと同じディレクトリにつっこんでみたところ少し進みました。
だがつまった…
...
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には何も入ってないです。
いったい何が不味いのでしょうか。
324:nobodyさん
07/08/01 01:09:29
>>311
実は64bit版落としちゃったとかじゃないよな・・・。
前スレ694も書いてたけど、Windows9x/MeだとWindowsInstaller2.0+が
要るんだけど入ってる?
URLリンク(downloads.activestate.com)
325:nobodyさん
07/08/01 01:14:35
x86てあるから多分86bit
入ってる入ってる
場所はどこでもいいんですか?
326:nobodyさん
07/08/01 01:58:42
どんがらがっしゃん
327:nobodyさん
07/08/01 02:15:59
>>324
311が今試しているのはmsiじゃなくてASパッケージの方だから、
とりあえずMSインストーラーのバージョンは関係ない。
ってMSインストーラーのバージョンを上げてもう一回msiで
やればよかったりして。
328:nobodyさん
07/08/01 02:25:56
>>322
> xcopyはありました、
> でもDOSで打っても使えないんだよな。
いったいまともなシステムなのかい、おまいさんの使っているのは。
Meかどうかってのはおいといても。だ。
> いったい何が不味いのでしょうか。
わけもわからず闇雲に
> COMMANDの中身をまるごと
> インストーラと同じディレクトリにつっこんでみたところ少し進みました。
こんなことやってるからだ。
バッチファイルの中身は実質Perlスクリプトなんだから、適当にいじりなさんな。
...
329:nobodyさん
07/08/01 03:08:43
>>325
場所? 何の? 自動的に進むはずだけど。
つかそのMe壊れてるんじゃないかなぁ。
330:nobodyさん
07/08/01 10:18:26
Meかよ!
AUTOEXEC.BATにPATH設定しとけ
331:nobodyさん
07/08/03 16:12:48
XPで、最新版あくちぶぱーるのMSIのほういれようとすると、
警告がでてインスコできない。
古いバージョンなら問題なくはいりました。
ただ、最新版をいれようとナニカ変なことをやらかしたようで、
ノートン先生のゴーバックつかって、インストールしてない状態にもどしてから
古いバージョンをインストールしなおしました。
もしかして、その状態なのかな?
332:nobodyさん
07/08/04 02:01:08
>>307
初めて使う人なわけだからさ。
333:nobodyさん
07/08/04 16:47:07
だから?
334:nobodyさん
07/08/04 18:30:38
アスペルガーの特徴。
自分が知っていることは
他人も当然知っていると思い込んでいる。
335:nobodyさん
07/08/04 19:26:37
アスペルガー症候群は格好良い、天才故の悩みみたいで。
気違い認定されると嬉しいけど、アスペルガー認定も嬉しい。
336:nobodyさん
07/08/05 12:35:06
MSIインストーラは、適当に置くんじゃなくて、
クリックしてインストールしないとね。
337:nobodyさん
07/08/05 13:59:47
>>335
死ねキチガイ
338:nobodyさん
07/08/05 14:23:50
アスペルガーはキチガイじゃないよ
ただ自分にしか関心がなくて
他人にまったく関心がないってだけ。
339:nobodyさん
07/08/07 20:51:45
アスペルガーは、相手の言葉の裏を読めないだけ。
基地外でもないし他人に関心が無いわけでもない。
基地外をアスペルガーと呼ぶのはアスペルガーの人に対して失礼だ。
とマジレス。
340:nobodyさん
07/08/08 01:27:49
でも教科書にはアスペルガーは他人に関心がなく
自分のことにしか関心がない、って書いてあるよ
そしてプログラマー板とか見ると、まさに
そのとおり、って感じ。
341:nobodyさん
07/08/08 08:53:24
>>340
他人に関心を持ちつつも、うまく対処出来なくて悩んでるアスペルガーの人の特集やってるテレビ見た。
アスペルガーに対する偏見はすさまじいらしいから、教科書等でもそういう見方をしてしまうのかと。
実は他人とも仲良くなりたいが、自分が傷つきやすく(言葉の裏が読めない為)、相手の傷つくのも理解しにくい(言葉の裏を読めない為)から、本人達はかなり悩んでいる。
本当のアスペルガーってのは、脳が他のことに特化して、脳の中で他人の言葉を深く考える部分が成長していないんだと。
普通、基地外ってのは、相手がうざがったりへこんだりするのを見て喜んだりするような真性のアホを指すことが多いと思うが、
アスペルガーは(たとえ結果的に傷つけてしまう言葉を言うにしても)相手が嫌な思いをするのを目的で嫌な言葉を使っているのではない。
どこかの教科書に「アスペルガーは他人に関心が無く」ってのは、周りからの(偏見に満ちた)見方をしているだけだと思う。
アスペルガーは、アスペルガー本人にしてみれば他人にも関心があるが、アスペルガーじゃない人がアスペルガーを見ると関心が無い"ように見える"だけだと思う。
アスペルガーはただの発達障害の1つであり、何かの能力で他人より優れている部分があることが多いが、かわりに他の能力で他人より劣ってる部分があるだけ。
なんで、アスペルガー=基地外っていうのは偏見だと思うよ。
プログラマー板でアスペルガー名乗ってる人が居るのかどうかも知らないが、基地外に対してはアスペルガーではなく基地外と呼ぶほうが正しいと思うよ。
基地外の別称としてアスペルガーを使うのはそれこそ差別になりかねないから。
と2度に渡りマジレスすまそ
342:nobodyさん
07/08/08 08:56:46
最初からそう言ってくれれば別にいいんだけどさ、
結局コミュニケーション取れないから仕事にしても何にしても
やりにくくて仕方が無い。
つかなんでこんな話題が続いてるんだw
343:nobodyさん
07/08/08 15:35:52
空気が読めないからさ
344:nobodyさん
07/08/08 21:37:41
話題が無いだけさ
345:nobodyさん
07/08/13 23:51:38
parrotの話でもしよう
346:nobodyさん
07/08/28 21:12:01 S4BK4Wc3
スレッドフロート型掲示板って中規模くらいにはなるの?
347:nobodyさん
07/08/28 22:44:17
>>346
シンプルに作れば200行は超えない。小規模だろう。
もちろんいろいろ細かなことを気にしたり機能を増やしたりすれば
中規模になっても不思議ではない。
348:nobodyさん
07/08/28 22:55:12 S4BK4Wc3
120行程度を8個程度連動して動かすのは?
アップローダーなんだが、スイッチ作るよりもそっちのが若干の負荷軽減になるし。
まぁ、漏れは基本的にそっち系なんだが。
349:nobodyさん
07/09/01 11:35:54 J92zlSvR
perl初心者です
perlでrssを定期的に取得し、取得したrssからurlとタイトルを取得しhtmlに出力
するようなcgiを書きたいです。ムリですか?
350:nobodyさん
07/09/01 11:50:45
>>349
頑張れ
351:nobodyさん
07/09/01 12:21:56
>>349
定期的になんかやる CGI なんて面倒だよ。原則として CGI というのは
サーバがクライアントからリクエストがあったときに起動するものだから。
サーバ内で定期的 RSS を取得するプログラムを走らせるか
RSS を取得する CGI に定期的にアクセスするか、
定期的に取得することをあきらめるか、のどれかが自然だと思うよ。
352:nobodyさん
07/09/02 05:21:02 tMV8T4kQ
>>349
結果をキャッシュして前回アクセスからn秒未満ならキャッシュを渡すようにすれば擬似的に可能
353:nobodyさん
07/09/02 12:32:14 VQ85YXho
クライアントから定期的にリクエストだとか
つか、クライアント上で取得→生成→sleepをwhileでぶん回す方がいいと思う。
レン鯖ではアカウントヤヴァスだが。
354:nobodyさん
07/09/02 12:44:47
while でぶん回すって・・・ cron なりなんなりを使おうよ
355:353
07/09/03 02:09:47
>>354
あくまでPerlだけでやるとすればの話。cron使えないと終りだし。
漏れも昔の話だがtempファイルがどうしても不必要に増えてしまうスクリプトを作ったので
同様の悩みを持ったことがあるが、結局は手動でまとめて消すのが手っ取り早いと気付いた。
つか、クライアントで生成してwhileぶん回す必要ないだろ>漏れ
何書いてんだか…
356:nobodyさん
07/09/03 02:35:41
・cron使え→使えないレン鯖の場合はどうしろと(´・ω・`)
・sleep仕込んでwhileでぐるぐるするとか→セッション終わったらどうなるんですか(´・ω・`)
…になるんだよね。
サーバ側でもクライアント側でもcronやタスクマネヂャが使えない場合で
なおかつCGIでないプロセスを回しっぱなしにもできない場合は、
頻繁にアクセスがあるサイトにCGIのトリガーを仕込みましょうとか、
そういうヘンテコな実装をするはめになる。
357:356
07/09/03 02:36:30
s/タスクマネヂャ/タスクスケヂュラ/;
358:nobodyさん
07/09/03 10:36:26 5z4DsU1G
デフォルトでエラー行数が表示されないってのきつい。。。
みなさんどうやってデバッグしてるんですか?
359:nobodyさん
07/09/03 14:58:39
>>358
最悪の場合、debug.txt作って処理を全て書き込み。
基本的にはエラー表示を使って大雑把に問題を切り分け。
360:nobodyさん
07/09/03 21:53:27
デバッガ使え
361:nobodyさん
07/09/04 02:47:11
Perlのデバッガ使いづらい
362:nobodyさん
07/09/04 22:45:32
>>349
cronかWebcronを使うってのはどうですか?
363:nobodyさん
07/09/04 22:46:07
>>356
webcron
364:nobodyさん
07/09/05 18:27:45 y75V3THa
PERLで画像のアップロードのCGIのことでわからないんですが
▼写メールで画像を送信できます。<HR>
件名、本文には何も書かなくてOK!<BR>
(サイズ制限:容量制限$maximg\k以内)<BR>
<a href='mailto:$SV_MAIL'>写メール送信</a><BR>
<BR>
送信が成功したら<a href='$CGI_MAIL?ID=$id&PASS=$pass'>こちらへ</a>
と、なってるんですがメインのCGIの $SV_MAIL が、カラなんでメール送信できないし
携帯でアクセスしても画像貼れないし、管理のwebmaster@~のメルアドいれても画像転送できないのですが
どうやって設定したら画像転送できるようになるでしょうか?
わかりにくくてすいません。わかる方いたら宜しくおながいします。
365:nobodyさん
07/09/05 18:37:00
$SV_MAIL には自分のサイトのアドレス入れるんだべ?
そして、そのアドレスではプログラムが待ち受けていて
受け取った画像を登録するようになってるはず
ちゃんと説明読んでインストールしたのかね?
366:364
07/09/05 18:42:12 y75V3THa
365さん、ありがとう。
管理のwebmaster@~のメルアドいれて携帯から送って受信したメール
見たら、英数字だけが大量に送られていて画像がなかったんです。
<そのアドレスではプログラムが待ち受けていて>のプログラムが
おかしくなってるんでしょうか?
367:nobodyさん
07/09/06 10:07:23
>>366
それってContent-Type: multipart/mixed だったりしない?
メールってのは文字しか送れないから、画像のときは
英数字に変換して送られる。
受け取った側は自分で画像ファイルに変換しないと。
368:364
07/09/06 15:14:11 CdaTSQs2
Content-Type: multipart/mixed;
に、なっています。
どうやったら英数字に変換して送れるようになりますか?
CGIの中身は・・
# マルチパートの検出
if ($mHead =~ /Content-type:.*multipart\//i || $mHead =~ /Content\-Transfer\-Encoding:.*base64/i)
に、なっています。これじゃだめでしょうか?
これだけじゃわからないですか?
369:364
07/09/06 15:19:08 CdaTSQs2
CGIの中が・・
# マルチパートの検出
if ($mHead =~ /Content-type:.*multipart\//i || $mHead =~ /Content\-Transfer\-Encoding:.*base64/i) {
# 区切り文字列で分割
$bound = '';
if ($mHead =~ /boundary\=\"(.*)\"/i)
受信したメールのヘッダが
Content-Type: multipart/mixed; boundary="mimemk00_0_"
Content-Transfer-Encoding: 7bit
と、なってます。
370:nobodyさん
07/09/06 15:24:09
メールは受け取ってるみたいだね。
おそらく本文には
Content-Type: image/jpeg;とかContent-Transfer-Encoding: base64 とかあるだろう
で、何ができてないの?画像の保存?
画像を保存する場所のパーミッションとかじゃないの?
エラーログには何か出てないのか
371:364
07/09/06 15:47:39 CdaTSQs2
本文は
/9j/4QIGRXhpZgAASUkqAAgAAAALAA4BAgAlAAAAkgAAAA8BAgAHAAAAuAAAABA
BAgAGAAAAwAAA ABIBAwABAAAAAQAAABoBBQABAAAAygAAABsBBQABAAAA0gAAA
CgBAwABAAAAAgAAADIBAgAUAAAA 2gAAABMCAwABAAAAAQAAAJiCAgABAAAAAAA
AAGmHBAABAAAA7gAAAAAAAAAyMDA3MDkwNjE0MDkw MDAAAAAAAAAAAAAAAAAAA
エラーもでてないしこんなのがずらずらでてるだけだす。
携帯から掲示板に画像をアップしたいけどPCからはできるけど
携帯から送るとこうなってしまって解らなくて;;
372:nobodyさん
07/09/06 16:03:13
>>371
base64のデータのようだからデコードしてバイナリデータに戻せばいいと思う
373:nobodyさん
07/09/06 16:30:22
デコードしろよ
374:364
07/09/06 17:17:30 CdaTSQs2
すんません。
初心者なんでデコードしてバイナリデータに戻す方法が
わかりません・・・;;
375:nobodyさん
07/09/06 17:28:13
だからよー
CGIの中身中身言ってるけど、それは何のCGIなんだよ
メール受信時にforwardとかでプログラム起動して画像データ抽出してんじゃないのか
CGIでメールを直接読んでるのなら、そこでデコードしてるはずだろ
どういう構造で、今どういう動作をしてて、本当はどういう動作をするべきなのか
全部書けよ
376:364
07/09/06 17:43:51 CdaTSQs2
メールをPOPサーバへ接続したりMIME解読したりするmail.cgiに
なってます
CGIの中身を貼りたいけど長すぎて貼れないや・・・
377:nobodyさん
07/09/06 21:42:23
ここは超初心者用のスレなので低レベルな質問でもokだが、
それは、Perlに対してであり、日本語に対して超初心者用なのでは無い。
>>364の質問に的確に答えられる奴はいないだろう。
例えるなら、「和食を作ったのですが、出来た物が辛いです。
どうしたら良いでしょうか?」と言ってるようなもんだ。
こんな質問には超一流の料理人でも答えられないよ。
つまり、Perlを勉強する前に日本語と最低限の
コミュニケーション術を学んでから出直して来い。
378:nobodyさん
07/09/07 01:22:28
質問能力が無いやつは
荒らしだから相手にしないほうがいいよ
379:nobodyさん
07/09/07 01:46:41
mail.cgiは自作なのか?
そうでないならエンコードも入ってると思うがなあ
エンコードそのものはそんな手間でもないので
自分で書くつもりならbase64とmultipartの扱いだけ調べりゃすぐだ
380:364
07/09/07 15:23:45 2t2s6ltN
CGIは無料でダウンロードしたやつだしPERLの知識0だからね
スルーで終了してくれ
381:nobodyさん
07/09/07 16:17:59
作者のサポートサイトで聞くのが
筋だと思ふ、そういうのは…
改造ならこの板に適切なスレがあるし
382:364
07/09/07 16:30:08 2t2s6ltN
381さん
ありがとう
383:nobodyさん
07/09/09 12:02:21
複数のラジオボタンの結果の受け取り方がわかりません。
TMPL_LOOPでいくつかのラジオボタンを表示してます。
NAMEはすべて変えてます。
ただparamを配列で受けとればいいのですか?
ラジオボタンの個数とNAMEをhiddenで渡さないとだめでしょうか?
384:nobodyさん
07/09/10 09:56:44
チェックされてないラジオボタンも欲しいの?
だったらそうなるね
385:383
07/09/10 11:57:32 pVVOBct/
>>384
なんというか、二択のラジオボタンが複数あるということです。
それぞれどちらがチェックされたかが知りたいのですが
386:nobodyさん
07/09/10 12:17:53
本来なら、同じグループのラジオボタンは同じ名前にしてValueで確認するんだが
全部Name変えてるならその名前で全部チェックしては。
チェックされてなければValueが入ってこない
387:nobodyさん
07/09/10 19:36:15
>>383
ラジオボタンのグループごとにidを決める。
ex.radio1,radio2...
次にデコード後に送信内容をハッシュに収めて↓みたく値を参照する。
$DATA{'radio1'},$DATA{radio2'}...
これで中身に其々の値が代入される。
388:nobodyさん
07/09/11 23:05:59 bdpoEocx
textareaに入力された情報をCGIで受け取りたいのですけどうまく行きません。
どのようにすれば取得できますか?
389:nobodyさん
07/09/12 00:28:37
つMETHODに合わせて送信情報をデコード
390:nobodyさん
07/09/12 00:31:26 m2heepaU
すみませんけど、その情報のデコード方法が分からなくて;;
formなどの受け取りは普通に出来るのですが、
textareaだけは同じように受け取ろうとしても出来なくて、、
391:nobodyさん
07/09/12 00:52:50
perlで掲示板のcgiつくってます。
terminalから
> /usr/local/bin/perl < hoge.cgi
とすると、
Content-type: text/html;\n\n
<html>
中略
</html>
みたいに目的のhtml書き出せるんですが、ブラウザからやると
500になってしまいます。。。
パーミッション/転送モードは大丈夫です。
何か考えられる原因ってありますか??
392:nobodyさん
07/09/12 00:53:02
google先生「"perl デコード"に一致する日本語のページ 約 231,000 件」
393:nobodyさん
07/09/12 00:58:46
>>391
エスパーレス、ブラウザに対する出力がなされていない。
次の文章をスクリプトの最終処理の後にくっつけてみれ。
print "Content-type: text/html; charset=Shift_JIS\n\n";
print "テスト";
これでテストが表示されれば、HTMLの出力なりlocation指定するなりすればよかろう。
それでもアウトなら上の二行を少しずつ処理の前方へとズラしていけ。
394:nobodyさん
07/09/12 03:04:50
どうせエスパーレスつけるんだったら
> Content-type: text/html;\n\n
> <html>
> 中略
> </html>
print 'Content-type: text/html;\n\n'; と書いてるところを
print "Content-type: text/html;\n\n"; に書き換えろ
じゃないのか。出力がそうなってるらしいし。
395:394
07/09/12 03:06:38
ていせい。
誤: print "Content-type: text/html;\n\n"; に書き換えろ
正: print "Content-type: text/html\n\n"; に書き換えろ
396:nobodyさん
07/09/20 19:00:31 tH1/iNYn
動的なトップページですが、HTMLに複数のSSI(例えば5つ以上、index.shtml)を使うのと、perlで全て一括で出力(index.cgi)させるのとではどちらがサーバにやさしいですか?
397:nobodyさん
07/09/20 20:28:19
その程度じゃ変わらないから気にするな
398:396
07/09/20 21:20:19
>>397
了解です。
PHPを覚えるまではindex.cgiにしてみます。
399:nobodyさん
07/09/24 16:40:32 HMQ03/cj
家庭的な事情で貧乏学生なのでお金稼ごうとWebアプリ作ろうと思っています。
将来的にIT系に就職を考えてるので、もし失敗しても良い経験になるかなと思ってます。
質問なのですが、WebアプリはGatewayの7万円台で買った安パソコンでも作れますか?
一応情報系なのでPerlやコンピュータの基礎知識はあるつもりですが、
制作実務経験が足りてないもので、ましてやWeb系は手を出したことがなく右も左も上もわからない状態です。
調べたところCatalystというフレームワークがよく使われるそうですね。
簡単に作れるというふうに書いてありました。
しかし、常識的に考えると、serverを増強していくのにかなり費用が必要だったりするので、
ちょっと学生が手を出して儲かる世界なのかなと思います。
学生で儲かっている人はいますか?
周りの友達などからは何もそういう類の情報がないので、わかりません。
ちょっと傲慢な申し出ですが、何か少しでもヒントやアドバイスを頂ければと思う次第であります。
400:399
07/09/24 16:52:16 HMQ03/cj
すみません。上のものです。書き忘れていました。
Webアプリは一人でも開発できますか?
もちろん、一人が作ったという話はちらほら聞きますが、
Perl暦一年の私でも大丈夫でしょうか?
PerlはLLだから簡単という話もありますが、一人だと出来ることはかなり小規模なものに限られてくるのでしょうか?
たとえば、はてなは少人数ですが、みんなすごいPerl使いなはずなので、はてなを見て「少人数でもあれだけのものが
作れるのだから、一人でもそれなりのものが作れるはずだ」などと思うのは早計でしょうね。
何が言い対価というと、一人だときついかもしれないということです。
個人的にはこのように(勝手に)判断していたのですが、最近どうしても学生のうちに作りたいと
思ってきたので、一人で作れないかと思い始めています。
ちなみに、協力者(同志)はいまのところいそうにないので、まずは一人で作る線で考えている次第です。
Web系のPerl熟練の皆様の判断をいただければと思います。
どうかよろしくお願いいたします。
401:nobodyさん
07/09/24 17:15:49
一人でも中規模だろうが大規模だろうが作れる。
できなければリーナスは誕生していない。
CだろうがJAVAだろうがPerlだろうが計算機は所詮計算機でしかない。
402:nobodyさん
07/09/24 17:40:21
ヤフーや日経の株価・為替レートを自サイトで表示したいです。
2チャン工業[150円]+0.5% ひろゆき証券[3,270円]+1.7%
みたいに表示させたいです。
parlでできる事は調べたら分りましたが、解説サイトが少なくて分りにくいです。
どこか初心者向けのないでしょうか?
URLリンク(www110.kir.jp)
↑これをhtmlに変換したけど動かなかった。
URLリンク(d.hatena.ne.jp)
↑これは動いたけど、もっと沢山数値が欲しい時どうするのか分らない。
403:nobodyさん
07/09/24 18:26:44
一つだけアドバイス。
本で買える情報は本で買ったほうが早い。
時間が有り余っているなら別ですが。
404:399
07/09/24 18:28:06 HMQ03/cj
>>401
ありがとうございます。
作れるのはいいとして、
しかしサーバ増強などに費用がかかりませんか?
405:nobodyさん
07/09/24 20:05:11
グーグルは
スタンフォード大学の
コンピューターセンターに
転がってるマシンを勝手に
無断で持ってきて自分達のものにしてた。
また、配送されてきて、
梱包を解かれないで
配送センターに放置されたままの
マシンは
「誰も必要としていない」
と勝手に判断して、それも
自分達のものにしてた。
406:nobodyさん
07/09/24 20:42:24
>>404
いったいどの程度の規模のサイトを作るかによる。
(単位時間当たりのアクセス数、コンテンツの要領、動かすアプリのメモリ使用etc...)
まあはっきり言って、Dellやらのやすもんセットでも、ちょっと型落ちの中古機なんかでも
サイト立てるだけなら全然可能。(それこそ3~5万位のマシンでも十分)
初めから処理能力とかハード的なこと気にするより、とりあえず自分でサイトなりなんなり立ててみて、
公開とか運用とかしてみる。
それでハード的にきつそうになってから、気にしましょう。
407:399
07/09/24 21:13:35 HMQ03/cj
>>405 nice hackですね。感動しました。Google信者なので、見習おうと思います。
>>406 やってみないと分からないですね。規模は。
目標は、10,000PV/day, 100MBのコンテンツ です。
サイト立てるためにapacheというやつを導入しました。
localhostを立てるまでは出来ました。
この調子でいくとlampかなと思ってます。
Windows依存できたので、1からunix勉強しなおすのは少し大変です。
ありがとうございます。
408:nobodyさん
07/09/24 22:40:40
>>407
その3-5倍程度のサイトを椅子で運営してるがレンタルでもクレーム来たことない。
まぁ、共用ですらその程度なら大丈夫ってことだ。
409:399
07/09/24 22:50:31 HMQ03/cj
>>408
貴重なアドバイスありがとうございます。
すみませんが、椅子、レンタル、共用というのはどういう意味ですか?
検索にかけてみたんですが、わかりませんでした。
お手数かけてすみません。。
410:nobodyさん
07/09/24 23:29:42
椅子はともかく
レンタル・共用が分からないってのは……
411:nobodyさん
07/09/24 23:34:58 HMQ03/cj
>>410
質問の仕方が悪かったようです。
共用サーバサービスやレンタルサーバなら聞いたことあるんですが、
レンタルや共用が何の略かが分からなかったんです。
何か根本的に基礎知識がかけていると考えたほうが妥当でしょうか?
先達は、どのようにして知識を得たのでしょうか?
412:nobodyさん
07/09/24 23:41:48
>>411
#/usr/bin/perl
#生きてる限り勉強
while(>>411){
print "トライ&エラー";
}
__END__
413:nobodyさん
07/09/25 00:10:08 OOv8Weab
>>412
なんだかそう言われると、これまで学習を継続してきたことを肯定されたようで
安心します。笑
とりあえず、これまでやってきたことは当たり前のことではありますが、少なくとも
間違ってはいなかったと思えました。
414:nobodyさん
07/09/25 00:27:49
>>413
一年やってきたとは言っても、動くスクリプトはどれだけ書いたんだ?
415:nobodyさん
07/09/25 00:50:17
成功するような奴はこんな所でグダグダ質問する前に行動してる奴だ
416:nobodyさん
07/09/25 00:53:46 OOv8Weab
>>414
動くスクリプトというのはどういうことなんでしょう。
スクリプトは1日平均100行くらいですかね。
やっていた時期は、300行くらいでしたが、最近はネットワークやUNIXに関する勉強にも
追われていて。
417:nobodyさん
07/09/25 01:14:03
>>415
ここで質問するよりも、本を読むよりも↓行って作って来い。
多分その方がいい勉強になる。作れないものは調べて作る。
ご希望のCGIを作成いたします
スレリンク(php板)
418:nobodyさん
07/09/25 01:37:09 OOv8Weab
>>415
その行動としてどういったものが妥当かを入念に検討しているのです。
私は学生なので、行動範囲も限られはしますが、まずは手始めにWeb applicationを制作しようかと
考えております。
一年perlやってきましたが、これまではこれを生かそうという計画はなかったのですが、
それは行動力がなかったというよりも、
もとからそういう発想がなかったんです。
それがここ数週間に間に急にWeb applicationをやろうという欲望がふつふつとわきあがってきているので
自分でも驚いています。
この欲望を実現すべく、過去の先達たちはものすごい行動力を発揮してこられたのでしょうが、
私も負けてはいません。
>>417
CGIを作ってもらうんですか。
スレッド見ました。
オープンソースのperl scriptを見るのも良い勉強になりますよね。
あと、思うんですが、方法にグタグタこだわるよりも、何をやりたいかが
大事ですよね。
ところが、自分の場合は何をやりたいかが明確なのにそのための方法がまるで
分からないというか少しずつ分かっているのですが、
その分かっていくスピードがあまりに低速であきれているんです。
なんと進みにくいのだろうかと。
だから、少しでも速く進めるように先輩方のお力を頂きたくこのスレッドに
参上いたしました。
419:nobodyさん
07/09/25 16:28:46
思うんだが行って参考にならないよな。
俺が苦労して書いた10行ぐらいの処理が
うまい人だと2~3行で処理効率も上とか普通にあるし。
420:nobodyさん
07/09/25 17:11:40
参考にならない。
「○○するスクリプトを××行で書きました」
ならまだしも。
421:nobodyさん
07/09/25 18:43:18
経験に対して行数を申告する人って何か誤解してる人が多いと思う
422:nobodyさん
07/09/25 20:20:09
行数で測るなんて無意味だよな
423:399
07/09/25 21:39:39 tW7VjElz
行が参考にならないのですか。
申告すべきものが何もなかったので行を申告しました。
ところで、上のほうで少し書いたかもしれませんが、私は長いプログラムを書いた経験がありません。
そこで、サイト制作に着手しようかと今日サーバについて調査しておりました。
そこで質問ですが、アプリケーション開発はどういう手順で行われるのでしょうか?
一応情報系なので、要件定義から設計・coding、テストといった過程については勉強したのですが、
実際の現場でどういう開発工程がとられているかというのは、
いかなる手段で学べばいいのでしょうか?
やはり、アルバイトが一番でしょうか。
しかし、アルバイトは当たり外れが大きいとも聞きます。
424:nobodyさん
07/09/25 21:43:43
なんだいろいろ理由つけて面倒なことは避ける主義か
425:399
07/09/25 21:55:39 tW7VjElz
>>424
というよりは、これも自分のなかでは地道な努力の一環なのですが、いかがでしょう。
たとえば、第一線の開発者が実際にどんなツールや手法やスタイルで仕事をしているか、
というのは学生が学ぶのは困難なのでしょうか、ということを現在調査中なのです。
426:nobodyさん
07/09/25 22:14:32
調査した成果をここで報告してくれんの?
427:399
07/09/25 22:23:40 tW7VjElz
>>426
はい。どういう形で報告すればいいのか指定くだされば、検討します。
428:399
07/09/25 22:32:09 tW7VjElz
私のようなしがない学生が言うのもなんですが、瑣末なテクニックの習得よりもまずは
現場の空気を吸うことが大事かなと考えまして、それで、さっそくサーバについて調査していたのです。
幸い、私にはやりたいことがそれなりに明確です。だが、よく考えてみると道のりがはなはだしく曖昧なのです。
それは当然です。全く未経験なのですから。
そこで、「ロードマップ」が欲しいと考えたのです。
何かおかしなところがあればご指摘ください。
429:nobodyさん
07/09/25 22:38:38
まずはやってみろ。
430:399
07/09/25 22:39:50 tW7VjElz
>>429 いまやってます。
431:399
07/09/25 22:41:44 tW7VjElz
誤解のないように解説しますと、いま現在も私は調査活動を続行中です。
他所で調査をしながら、ここでも質問しているという次第です。
ただし、マルチポストはしていませんよ。笑
432:nobodyさん
07/09/25 22:42:20
omotiを思いだしたのは俺だけだろうか、、、
まあ、コードを書いた経験があるだけomotiよかましだろうが
「ハイキング程度の人間がエベレストに挑む」
「プーアルが完全体セルに挑む」
のを単に夢想してるだけだ。
「ロードマップが欲しい」?
地図の見方すら分ってない人間に分るようなフローチャートを無償で作れと?
おまえさんがやるべき事は経験を積むことだよ。
ここでうだうだ、くだらん持論を述べる事ではなく。
さっさとアルバイトに応募しろ、外れだと思ったら止めて他を当りゃいいだけだ。
433:399
07/09/25 23:08:16 tW7VjElz
>>432
ある意味納得です。アルバイトへの応募も必要だし、経験を積むことをするのは必須事項でしょう。
omotiって何か知りませんが、私は地図を読む能力がゼロだとは思いません。
私は自分を過少評価する傾向がありますが、それをゼロだと言ってしまうと、卑下しすぎでしょう。
地図を必要とする理由は、地図を頭に入れてから実践したほうが効率面で有効だと判断したからです。
どういった手段で、先人達は、地図を入手してこられたのでしょう。素朴な疑問。
434:nobodyさん
07/09/25 23:29:27
>>433
>omoti
ぐぐれ。
>地図を読む能力
「読む」のは誰でも出来る、経験に応じたレベルで。
経験を積むと見方が分ってきてより深く地図を読むことが出来るようになる。
>自分を過少評価
何様だ?オマエ。
経験をコードの行数で書くようなドシロウトみたいなマネしといて、
よくもまあ、自分を過大評価出来るもんだ。
435:nobodyさん
07/09/25 23:38:09
アルバイトに来られる側の人間として一言だけ
迷惑だから来ないで下さい
436:399
07/09/25 23:45:43 tW7VjElz
>>434
どうも意志の伝達が正常に行われなかったようです。
自分を過少評価というのは、自分が偉いというのとは逆に、
自分をネガティブに評価する傾向があるという私の一般的性質を指しています。
だから、なぜあなたが怒りを発生させたかについては責任を負いかねます。
それから経験をコードの行数で書くのが実力や経験量を測定する尺度としてあまり妥当な手段でないことは認めるものの
何がしかの尺度にはなるかと思います。
一応情報系なので日常会話で行数について耳にしますので、補足しました。
>>435
アルバイトに来ると迷惑ですか。
私はやる気だけはありますよ。これまでもアルバイトしてましたが、面接でそう言いました。
437:nobodyさん
07/09/25 23:52:05
>>399
PMだけを目指すのならともかく、若いうちはガンガンスクリプトを書いとけ。
出来たものから汎用性のある部分をモジュールとして使えるようにしろ。
モジュールとして使わないまでも、関数なりクラスとして再利用出来るようにストックしとけ。
ロードマップだの何だの言うよりも、とにかくショウモないスクリプトでもいいから書いて書きまくれ。
言われてることが分からないなら、とっとと現実に戻ってクソして寝てみる夢を見つづけろ。
438:nobodyさん
07/09/26 02:18:47
perlの仕事なんか無いよ
439:nobodyさん
07/09/26 02:21:03
namcoの遠藤みたいにプログラムなんか欠片も知らないで入って
それでいてゼビウスのようなゲーム作って大成功する奴もいるんだ
お前みたいに能書きだけで先に進もうとしない奴は何やっても駄目
440:nobodyさん
07/09/26 02:24:18
>>399
とりあえず、会員制のサイトでも作ってみたら?最初はモジュールを
使わず、全てPurePerlで組む。完成しても公開はしない。あくまで、
自分の学習用。機能としては…
・新規登録フォームで必要項目を記述して送信すると
入力されたデータを保存。同時に確認メール発射。
・確認メールの中にURLが記入されていて、そこに
アクセスすると入会登録完了。
・入会登録完了すると完了メールが届いて、そこに
書かれているIDとパスワードでログイン。
ここまで出来れば、Webサイトを作成する上での基本は学べると思う。
その後に、サイトの中でBBSなりユーザ情報設定等を追加していく。
ここまでで、Webサイトを運営する上で解決策が学べると思う。
その後に、同じ物をモジュールを使って作り直す。
ここまでで、モジュールの有難さを学べると思う。
ここまでできて、解らない事があれば、質問してくれ。逆に
それまでは、自分の力で解決してくれ。途中でどうしても
自分の力で解決できなければ、才能が無いので、諦めてくれ。
441: ◆T7TfLMI9dM
07/09/27 00:54:04
2ch検索でうっかりomotiを入力しちゃった俺が来ましたよw
>>399
いきなり大きなものを一から作ろうとすると挫けるから、自分の思ってる機能に
一番近いものを実装してるCGI探してきて設置。まずはそれを好きなように
改造しまくる。これだけで一通りの流れは掴めると思う。次が>>440かな。
ちなみに個人で始めるWebサービスは99%赤字になるから、金が欲しいなら
素直に今できるバイトで稼げ。
442:nobodyさん
07/09/27 22:26:20
タクトと同じ匂いがする...
443:nobodyさん
07/09/28 09:09:43
初心者スレにも湧いてるしな。
うざったいことこの上ない。
444:nobodyさん
07/09/28 20:52:36
その前はProgの方のperlスレに湧いてたw
全部同一人物かw
445:437
07/09/29 00:32:05
やっぱり口だけ君だったのか。
プログラミングなんて習うよりも作れだというのに。
446:nobodyさん
07/09/29 01:20:03
T7すっげぇ久々に見たな
ってか実はいつもいるのか?
447:nobodyさん
07/09/29 01:25:07
どこに沸いたって?
448:nobodyさん
07/09/29 13:45:18
どのスレかわからんが、いつも見てるやつじゃないとOmotiを知らないし付き合わんだろw
449:nobodyさん
07/10/04 08:24:35
質問です。
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アドレスリスト
URLリンク(ja.wikipedia.org)
450:nobodyさん
07/10/04 09:06:18
その部分を変えても仕方ないと思うが。
IPアドレスで判定する部分そのものを新たに追加するってんならわかるが。
451:449
07/10/04 13:54:49 wlik/mVj
レスありがとうです。
そうなんですか
尚更手に追えそうもないです;
失礼しました
452:nobodyさん
07/10/06 23:30:58
標準入力を二度読み込みたいんだけど、方法ないですか?
目的は一度、デコード&整形した後でデコードだけの整形していないデータを取り出すこと。
seek STDIN 0, 0;は既に試しました。
453:nobodyさん
07/10/06 23:35:10
最初に配列に放り込んでキープしておけば?
454:nobodyさん
07/10/06 23:40:05
>>452
STDIN→デコード→ファイル1に保存→整形→ファイル2に保存
ができない訳を言え
455:nobodyさん
07/10/07 00:05:53
>>454
やっぱり、その方法が手っ取り早いですか?
考えてはみたけど、それなら結局は最初から変数に読み込んで後で使う方がいい気も…
んー、キーボード入力じゃなくてPOSTデータだから取り出せるものと思ってました。
一生手を入れないでマージンまでやってくれるクラスを作ろうと思ってまして。
456:nobodyさん
07/10/07 02:14:11
>>455
何だか大きく勘違いをしているような気がするが、
POSTデータなら最初から変数に入ってる
457:nobodyさん
07/10/21 09:54:12 xMq+XN4p
やりたいこと:mod_perl2をインストールしたい。
できなかったこと: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」でググってみたりしたのですが、
どこに問題があるのか特定できませんでした。
次のアクションをご教示ください。よろしくお願いいたします。
458:nobodyさん
07/10/21 10:59:29
>>457
apache2.2は入ってるのか?
459:457
07/10/21 11:18:08 xMq+XN4p
>>458
入ってます。
460:nobodyさん
07/10/21 11:19:32
>>457
ん?うちでは問題なく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ってのはこれのこと
URLリンク(theoryx5.uwinnipeg.ca)
461:nobodyさん
07/10/21 11:32:16
失敬。リロードしてなかった。
で、もっかい、今度は、(threory58Sはreposにいれてるんだよな?)
ppm install mod_perl ってやってみ。
462:nobodyさん
07/10/21 11:43:40
実はapache2.0を入れているという罠
463:どうしてパンチラが流出?
07/10/21 14:04:29
_ ⌒ヽ_ / `ヽ、
/´_ `ヽ、 ,ィ''´ ̄ハ、i,/lヽ、 l!
,ィ´/'´/::/:::ラ./ / /!イソ !i .ハ /
/゙ ! ' ::´:::::::|:// / ,イ /!"゙ヾ|リ i メ
! | :: ::::::ri/| |:::i|ハ i.|| i,/|! _//!:::|::::|
| :: .::イリノハ ::!lィl丙`|/ |、 _ハ/::/:::;/
i ; ::::レl/ !,ヾ、! ゙'゚┘ 尤i'/,' / 20万人くらいが見ちゃったパンチラ!?
/ !..:::::l/ ::::アi. 、 , ゙‐'ソ'"'´ 元女子アナウンサー丸川珠代さん(白パンティー)
ト、_// :::|:::::/ ::::://^ヽ、 ~ ,.ィi′ スレリンク(ana板:9番)
`ー'ナ/.:/::::/ ::::/´! ヾ "´l:::l|
i / .:|:::/ :::;ィ/ |! ヽ:::!:riト、_, 日本人でよかった♪ 白でよかたーーー!
!| /:|/ .//! ,!| ヽ ヾ、,リ この番組で有名となった参議院議員(東京)のまるたまさん
| | //:::/:::! ! \. \ ヽ\ スレリンク(furin板:174番)
ヾ// ::::/:::::|ノ _二;ヽ ゙、 ,}
オ′:::i :::::::|/ ̄ \ ヾー-、 たけしさんとツーショットのまるちゃんに注目!(白パンティー)
/ | :: ::|::::::::::! ハ iヽ i でも、小泉チルドレン筆頭の
i | ::|:::::::::リ ,イバー‐'′! ヽ 佐藤ゆかりタン萌えパンチラは無いよーーーーーーん
! |i : :|:::::ノ i /ハ | / | \
ヾ _,, !<_. { ///" ヽ
_,. ‐''";;;;;;;,:'";;;;;/ ゙̄T''''r-レ \ _ i
ヾ"、_;;;;_,;:'";;;;;;;;;;/;;;;;;;;;i;;;;;l;;;;;| }=ニl!;;ト、 /
ヾ;;;;;;/`''ー--ヶ、;;;;;;シ;;;;;;|;;;;;;! ぐー`"ヽ!
ヾi' / ヾ、;;;;;;;/;;;;;;;| 〈´  ̄~゙'''┘
;ヘ , i ゙\;;;;;;;;;ハェュj パンチラ規制厨と闘ってます
! `ヽ、'_,{_ ゙\;;;;;| スレリンク(sec2chd板:639番)
464:457
07/10/21 15:13:46 xMq+XN4p
>>461
やはり無理でした。
>>462
再確認しましたがapache2.2です。
--------------------------------------------
やむを得ず、「何かカオスな理由でトラブルが起きた」ということにして、
ActivePerlのリインストールという強硬手段に出ました。
その結果、無事インストールできました。
結局、問題の原因はミステリーのままに。^^;
アドバイスくださった方、ありがとうございました。
465:nu.
07/10/21 15:30:36 hpzcI35P
初めまして超くだらない事かもしれませんが質問させてください。
OceanGrid形式の動画を録画するにはどうしたらいいですか?
また録画出来るものなのでしょうか…?
よろしくお願い致します。
466:10い
07/10/21 19:05:50
質問します。
if( $ENV{'HTTP_USER_AGENT'} =~/bot|twiceler/){&zap;}
上みたいなのがあったとして、 USER_AGETNに、bot かtwiceler があると。
って感じなのですが、これですと例えば、Googlebotが来ると一致してしまいます。
bot以外の Googlebot や 1bot、 bots などに合致させない方法はありますか?
ifからの文はなるべく変えない方法を教えてください。
できれば、=~// この中の範囲内の変更でできないでしょうか。よろしくお願いします
467:nobodyさん
07/10/21 19:16:00
and $ENV{'HTTP_USER_AGENT'}!~/Googlebot|1bot|bots/
これを条件に加えるのがわかりやすくないかな
468:10い
07/10/21 19:37:52
>>467 お答えありがとうございます
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;}のように変えてエラーです
469:nobodyさん
07/10/21 19:43:45
めちゃくちゃ古いヴァージョンなら and => && でどーでしょ
470:10い
07/10/21 19:51:36
エラーが
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 です
パールを最新にしてみます
471:nobodyさん
07/10/21 19:58:24
if( $ENV{'HTTP_USER_AGENT'} =~/bot|twiceler/ and
$ENV{'HTTP_USER_AGENT'}!~/Googlebot|1bot|bots/){&zap;}
エラー出ないよ
472:10い
07/10/21 20:18:23
>>471さん
取り急ぎ
andから書いてました
perlのアップグレードを始めてしまってなかなか終わらないので
終わったら試して確認してみます
473:10い
07/10/21 21:22:35
>>471 上行のキーワード完全一致だけがzap4に飛びました
perlのバージョンじゃなくて書き方が違っていたようです
!~/hoge/ の意味を教えてください
474:nobodyさん
07/10/21 21:58:00
hogeにマッチしなければ真を返す(=~/hoge/の逆)
475:10い
07/10/21 23:00:45
>>474ありがとうございます
476:nobodyさん
07/10/23 20:50:38
変数が配列であるかどうかを確認するには、どうすればよいのでしょうか?
477:nobodyさん
07/10/23 21:36:17
wantarray
478:nobodyさん
07/10/23 21:54:51
>>477
すいません、
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の使い方がいまいち理解できませんでした。
このような場合は、どのようにすればよいのでしょうか
479:nobodyさん
07/10/23 23:15:24
>>478
「$_[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. 、、、、まあいいや。
480:nobodyさん
07/10/24 13:14:01 nBn+cskB
いまだにphpではなくperlで動いているあたり。。。
URLリンク(yoshihi6.com)
481:nobodyさん
07/10/24 18:26:51
>>479
その方法で解決しました。
ありがとうございます。
482:nobodyさん
07/10/25 17:20:59 ZciT02o+
スライスした配列の参照を表現するにはどのように書けばいいですろうか。
@org[0..2]のリファレンスを作るとして、
イメージは$ref = \@org[0..2];みたいなことなんですが・・・
483:nobodyさん
07/10/25 18:16:27
$ref = [@org[0..2]];
484:482
07/10/25 18:38:58
>>483
おおっ、なるほど!無形配列に入れるんですね。
勉強になりました!
485:nobodyさん
07/10/26 10:43:23 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をを格納したいと考えてます。
486:nobodyさん
07/10/26 13:37:59
状況がハッキリ想像できてないので迷惑な答えになってしまうかもしれないけど
CGI-Sessionではたしか配列はリファレンス渡しだったと思う。
最初に↓こう準備しておいて
$arrayref = []; #初期化式
$session->('sql', $arrayref); #セッションに格納
その都度
$$arrayref[0] = $sql;
$$arrayref[1] = $sql;
$$arrayref[n] = $sql;
でいけるかも?
487:nobodyさん
07/10/26 17:05:53 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が結果として表示されるようにしてあるんですが何度やってもエラーがでてしまいます。
どこが間違ってるのでしょうか?
488:nobodyさん
07/10/26 18:26:02
@list=($input{'a'},$input{'b'},$input{'c'});
489:nobodyさん
07/11/01 10:55:03 yhsG2JfP
index.cgiからhtml.plをrequireし、
html..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";
490:nobodyさん
07/11/01 11:10:49
構造に問題があると思うけど、
PackageのPを小文字にすればいいと思うよ
491:nobodyさん
07/11/01 11:19:21 yhsG2JfP
>>490
packageのpは実際のソースのほうは小文字になってました。
投稿ミスorz
あとinfo.plの1;も投稿時の書き忘れです。
構造??
492:489
07/11/01 12:16:29
自己解決しました。
print $header;を
print $main::header;
にしたところ、Content-type:text/html¥n¥nが出力されました。
493:nobodyさん
07/11/01 19:49:10
headerの出力をinfo.plでする意味がワカランのだが?
index.cgiで出力の制御
html.plでHTML文書の構造制御
info.plでHTML文書の内容を制御
にした方が構造的には綺麗にまとまるとオモ。
494:nobodyさん
07/11/03 04:03:09 0ypwQ9jZ
CGI上のIDやパスワード認証のログを保存するにはどう書き足せば良いでしょうか?
495:nobodyさん
07/11/03 04:35:48
fwrite($fp, $id.$pass);
496:nobodyさん
07/11/04 01:00:13
>>495がPHPに見えるけど、酔っ払ってるせいだと思ってとっとと寝よう。
497:nobodyさん
07/11/08 09:06:26
禁止メールアドレスを複数設定したいのですがどうすればよろしいですか?
1週間前にcgiを知りましてなんとか1語ではできるようになったのですが・・・
ヒントでは理解できそうもないのでずばり回答でお願いします。
# 禁止メールアドレスチェック
if ($in{'email'} =~ /yahoo/) {
&error("フリーメールはダメ");
}
498:nobodyさん
07/11/08 12:50:47
まず、それだとfooyahoooo@docom*.ne.jpとかも弾いてしまうわけだが
499:nobodyさん
07/11/09 01:30:01
>>498さん
そのようですね。失礼しました。さようなら。
500:nobodyさん
07/11/20 17:27:42
誰か教えてくだされ。
Perl 5.8.2 CGI::Lite 2.02 を使って、うpローダを作ったんです。
URLリンク(digit.que.ne.jp)
を参考にバイナリ対応パッチは行いました。
Windowsだとうまく動いています。MacOSXからだと、0Dが0Aに化けます。
パッチが足りてない部分があるのでしょうか?
どこをなおせばうまく行きそうですか?
501:500
07/11/20 18:07:03
追加情報
・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板でも情報集めして見ます。
502:nobodyさん
07/11/20 18:57:03
CGI::LiteとCGI_Liteは別物だぞ
503:nobodyさん
07/11/20 19:45:06
>>502
URLリンク(digit.que.ne.jp)
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版からは少しずつ修正が加わり始めています。
504:nobodyさん
07/11/20 21:37:27
別物じゃん
505:nobodyさん
07/11/27 00:40:39
Debian etch、Apache2.2.3+perl5.8.8でCGIスクリプト走らせたらHDDアクセスが止まらなくて
ログにOut of memory!ってでたんですけどどうすれば直りますか?
506:nobodyさん
07/11/27 08:35:46
鯖スペックとその糞コード晒せ
507:505
07/11/27 13:35:14
スクリプト
URLリンク(park1.wakwak.com)
鯖スペック
CPU:Pentium-M 1.4GHz
メモリ:768MB
HDD:80GB
508:nobodyさん
07/11/27 14:09:42
Perlのプログラムに関しての質問です.
現在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
509:nobodyさん
07/11/27 17:03:00
>>508
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なんか)とかチェックポイントが多すぎて答える気にもならん。
510:508
07/11/27 20:31:16
>>509
有難うございました.
実際やってみまして上の例ではちゃんと出力できたことは確認しました。
しかし%tableの意味するところが勉強不足でちょっと分かりませんでした。
変数等をいじったりしてみたのですが
お恥ずかしいところですが、具体的にどのような処理を行っているのか教えて頂けると
幸いです。
511:nobodyさん
07/11/28 00:13:10
my %table~~の行。
「改行区切りのデータを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を覚えるんだ。
512:nobodyさん
07/11/28 00:29:11
スレタイと>>1読んで反省した。
スタンダードな書き方で書くべきでした。
my $table = <<'EOF' ;
1,A,B,C
2,A,C,B
3,C,A,D
EOF
my %table ;
foreach my $line ( split /\n/, $table ){
my @dat = split /,/, $line, 2 ;
$table{$dat[1]} = $dat[0] ;
}
foreach my $line ( split /\n/, $log ){
my @dat = split /,/, $line, 2 ;
print $dat[0] . ',' . $table{$dat[1]} . "\n" ;
}
513:509
07/11/28 11:28:52
なるほど,これなら理解できそうです.
この例では,一致させる列が順番になってますが,現在扱っているデータでは
順番にはなっていないのですが,整列してから処理したほうが良いですかねぇ?
わざわざ有難うございます.
助かりました.
514:509
07/11/28 13:38:32
何回も申し訳ありませんが,
$tableないし$logデータは別ファイルに保存されているので,ファイルから
読み出しを行ったので,配列として読み出したのですがこの場合処理は
どうなるのでしょうか.
515:nobodyさん
07/11/28 13:58:53
さすがにちょっとは自分でもしらべようぜ。
ヒント貰ってるんだからforeachとsplit辺りから検索できるだろうし。
516:509
07/11/28 14:21:28
↑すいません,自己解決です。
517:465
07/11/28 23:46:53 JbJxNee4
activePerl5,8インストールしようとしたら
invalid Drive:G
ってなってインストールできナス
orz
助けて下さい
518:nobodyさん
07/11/29 13:33:09
ドライブGがないのに、ドライブGをインストール先に指定しているだけでしょ
519:超初心者
07/11/30 10:10:18 Hc83DxRo
Perlがわからない超初心者です。よろしければ教えてください!
広告管理CGI ver1.3
URLリンク(hpcgi2.nifty.com)
これを使ったんですが、文字化けで悩んでいます。
ホームページビルダーShift_JISで使っている場合は問題ないですが、
ワードプレス(UTF-8)やロリポブログ(EUC)だと文字化けしちゃいます。
いろいろと試してみたのですが、まったく駄目です。
すいませんが、どこを直せばいいのでしょうか?
よろしくお願いします。
520:nobodyさん
07/11/30 12:36:34
>>519
そのURLのサポート掲示板へ逝け
521:超初心者
07/11/30 13:03:46 Hc83DxRo
確かにサポート掲示板で書けばいいのですが、
この掲示板2006/8で終わっているようでらちが明かないので質問しています。
すいませんが、どなたか手助けお願いします。
522:nobodyさん
07/11/30 13:30:01
>>519 スレ違い
CGI設置について質問【Part3】
スレリンク(php板)
523:nobodyさん
07/11/30 15:31:46 8pPZwPu7
どうも、こんにちは。
CGIゲームの改造(TOWN)をしている者です。
独自タグを導入しようと思っています。
#タグ処理
$in{'a_com'} =~ s/\[i\](.+?)\[\/i\]/<em>$1<\/em>/gi;
$in{'a_com'} =~ s/\[b\](.+?)\[\/b\]/<strong>$1<\/strong>/gi;
$in{'a_com'} =~ s/\[u\](.+?)\[\/u\]/<u>$1<\/u>/gi;
$in{'a_com'} =~ s/\[pre\](.+?)\[\/pre\]/<pre>$1<\/pre>/gi;
$in{'a_com'} =~ s/\[s([1-7])\](.+?)\[\/s\]/<font size="$1">$2<\/font>/gi;
$in{'a_com'} =~ s/\[c=(\S+)\](.+?)\[\/c\]/<font color="$1">$2<\/font>/gi;
$in{'a_com'} =~ s/</</g;
$in{'a_com'} =~ s/>/>/g;
$in{'a_com'} =~ s/([^=^\"]|^)(https?\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]+)/$1<a href=\"$2\" target=\"_blank\">$2<\/a>/g;
$in_a_com = $in{'a_com'};#koko2006/11/07
このような感じにしたのですが、独自タグを記述してもタグのままでてしまいます。
独自タグを入力すると、変換はされるのですが、結果が表示されません。
このような場合どのようにすれば良いでしょうか?
宜しくお願いします。
524:nobodyさん
07/12/01 04:28:25 p/Twqk8/
>>523
独自タグ処理の後に<と>に変換してるからじゃない?
525:nobodyさん
07/12/01 04:29:21 p/Twqk8/
>>524
<>な
526:nobodyさん
07/12/03 02:01:35 J4A8iRzG
レンタルサーバーでインストール済みのモジュールを調べました。
そのときの一覧で、頭に5.8.8とかの数字がついているのがあって、
その意味がわかりません。
例えば
5.8.8::XML::XPath
というのが一覧に載っていたのですが、そのほかに
XML::XPath
というのも載っています。
これら二つはどう違うのですか?
527:nobodyさん
07/12/03 09:47:05
そのモジュール一覧を調べるスクリプトの
アルゴリズムが腐ってんだろうよ。
528:nobodyさん
07/12/06 00:17:44 HgYNR+TB
データベース処理に関してDBIを使用していますが、デバッグ用にクエリを表示もしくはログを記録したいのですが、どうすればいいでしょうか。
と言うのも、プレースホルダ使ってからクエリ実行する場合、動的なデータに対して「?」をセットしますよね。
このまま自分で記録しようとしても、「?」のまま記録してしまうし
かといってDBI->traceを使うと、余計な情報ばかり出力されます。
皆さんはどのようにデバッグしていますか?
529:nobodyさん
07/12/06 01:32:40 NHCKs2bj
あるファイルの一行目の文章のみ手直ししたいと思っています。
自分なりに考えた方法では
open(FILE,"+>./log.dat");
while(<FILE>){
@LOG=$_;
}
$LOG[0]=~/(hoge)(hoge)/;
shift @LOG;
unshift @LOG,"hoge3$2";
print FILE @LOG;
上記では、whileの中で一行目以降の行も配列に格納している点が、初心者の私には無駄に感じてしまいます。
もしこれより簡潔で、サーバーへの負荷も少なくてすむ方法をご存知の方がいらっしゃいましたら、ご教授ください。
530:nobodyさん
07/12/06 05:14:19
>>528
Perlではないけれども、自鯖環境なら、my.cnfに
log=/var/log/・・・ てな感じで記録すれば全てのクエリのlogが取れる。
レン鯖環境でも、デバッグ目的なら、自前のPCで同じことをすればよい。
(UnixだろうとWinだろうと、mysqlのversionが同じなら、クエリレベルでは全くの互換)
>>529
open(FILE,"<./log.dat");
open(OUT,">./logout.dat);
$row = <FILE>;
$row = うんたらかんたら・・・
print OUT $row;
while(<FILE>){ print OUT $_; }
close(FILE);
close(OUT);
オレならこうするかな。
既存ファイルの”ケツ”に足すのなら、">>file.name"で簡単だけど、頭だけを変更したいとなったら、
ファイルの内容を一旦全て読み込まないといけなかったんではなかったかな。
(変更前と変更後の一行のバイト数が同じになるとは限らないから。)
この後でRenameするなどしたらよし。
(自分の場合は、どんな時でも、基本的に変更前のbackupをとって置く性質なんで、確実に不要とわかってから元を消すようにしてる。)
もうひとつゆうと、ウチの環境では、
@log = <FILE>; とするよりも、 while(<FILE>){ push(@log,$_) } とか、 $log = join('',<FILE>);とかするほうが、
圧倒的に早い(WinXp + ActivePerl-5.8.8で、1.5倍~2倍くらい早い。よその環境は知らない。)
531:nobodyさん
07/12/06 05:29:50
>>529
ああ、その前に、そのコードそのままなら、
本当に $log[0] に一行目が入っているかい?
532:nobodyさん
07/12/06 05:34:31
>>528
ああごめん。
mysql限定とは書いてなかったね。
でも多分、ほとんどのDBには、DB側にクエリのlogを保存する機能がついてるはず。
なにも全てPerl側でやる必要はないと思う。
533:nobodyさん
07/12/06 07:57:56
>>529
簡潔って「一点のみ」で、
use Tie::File ;
tie my @array, 'Tie::File', 'hoge.txt' or die ;
$array[0] =~ s/foo/bar/ ;
untie @array ;
以下は横レスFYI:
>>530氏は、「ウチの環境では」ときちんと断わってはいるが、一応他の環境での
ベンチマーク結果だ。シビアに考えるなら常に自分の環境で、use Benchmark で
テストする事をお勧めする。
(けど、普通の環境ならシビアにテストしなくてもいいんじゃね?)
This is perl, v5.8.6 built for darwin-thread-multi-2level
@OSX 10.4.11, G4 500MHz メモリ1G
一行50文字の2万行のデータ hoge.txt にて
% cat hoge.pl
use Benchmark ;
sub __handle{ open IN, q{hoge.txt} ; push @arr, <IN> ; close IN ; }
sub __array { open IN, q{hoge.txt} ; while( <IN> ){ push @arr, $_ ; } close IN ; }
sub __join { open IN, q{hoge.txt} ; $dat = join '', <IN> ; close IN ; }
timethese ( 50, { op1 => '__handle', op2 => '__array', op3 => '__join' } ) ;
% perl hoge.pl
Benchmark: timing 50 iterations of op1, op2, op3...
op1: 7 wallclock secs ( 6.31 usr + 0.59 sys = 6.90 CPU) @ 7.25/s (n=50)
op2: 8 wallclock secs ( 7.11 usr + 0.59 sys = 7.70 CPU) @ 6.49/s (n=50)
op3: 8 wallclock secs ( 6.12 usr + 0.60 sys = 6.72 CPU) @ 7.44/s (n=50)
534:529
07/12/06 12:01:39 I3qzGVsw
>530
ご親切にありがとうございます。参考になります。
全部読み込む必要があるのですね。
>本当に $log[0] に一行目が入っているかい?
ご指摘の通り、入っておりませんでした。
@LOG=$_; の部分を
push @LOG,$_;
としましたが、それでも$log[0]に一行目が入っていませんでした。
試しに、
open(FILE,"+>./log.dat");
の部分を
open(FILE,"<./log.dat");
としたところ、ようやく$log[0]に一行目が入りました。
いまいち『+>』の意味がつかめません。自分が持っているperlの本を何冊か見ると、
『+>』は入出力共用(上書きモード)とあるのですが、それは『<』と『>』を同時にやったことにはならないのでしょうか。
例えば、
『open(FILE,"+>./log.dat");』
というのは
『open(FILE,"<./log.dat");
open(FILE,">./log.dat");
』
ってことではないのですよね(動作をみると)。よくわかりません。。。
535:529
07/12/06 12:02:24 I3qzGVsw
>533
ありがとうございます。そういう風にテストするんですね。
(自分の勉強不足でした。)
かゆいところに手が届いた感じです。感謝してマス。
早速調べて使ってみます。
536:530
07/12/06 14:42:15
>>533
わざわざ補足いただいて恐縮なんだけど、少しご意見を・・・。
自分は、あまり use Benchmark を信用せずに、 use Time::HiRes でベンチ取るようにしてる。
どうも use Benchmark は、実際の動作時間に即してないような気がするので。
具体的にゆうと、>>530や>>533の場合だと、ファイルIOについての待ち時間がカウントされてないように思う。
確かにPerl内部だけで動作が完結するコードについては、しっかりと時間を計測してくれてるようだけど、
例えば外部ファイル読み書きや、他のプロセスをロードしたりするための時間はカウントしてくれないみたい。
詳しくソースとかを追ったわけではないけれど、以下簡単な実証コード
use Time::HiRes qw(time);
use Benchmark qw(timethese);
$n = 100;
sub cgi_1 { system( q(perl -MCGI -e "") ); }
sub cgi_2 { system( q(perl -MCGI::Lite -e "") ); }
timethese($n,{ u_CGI => 'cgi_1', u_CGIL => 'cgi_2'});
$st1 = time();
for(1..$n){ &cgi_1(); }
$lt1 = time() - $st1;
$st2 = time();
for(1..$n){ &cgi_2(); }
$lt2 = time() - $st2;
printf "%.3f s\n",$lt1;
printf "%.3f s\n",$lt2;
537:530
07/12/06 14:42:47
Unix系だと、time for i in `seq 1 100 ・・・ とかで、コマンドラインから簡単に実測できるコードなんだけど、それをWinに移植したつもり。
これの結果が、This is perl, v5.8.8 built for MSWin32-x86-multi-thread(Pen4 3.4G mem2G)で、
Benchmark: timing 100 iterations of u_CGI, u_CGIL...
u_CGI: 4 wallclock secs ( 0.05 usr + 0.11 sys = 0.16 CPU) @ 641.03/s (n=100)
u_CGIL: 2 wallclock secs ( 0.02 usr + 0.06 sys = 0.08 CPU) @ 1282.05/s (n=100)
4.031 s
1.453 s
こうなった。wallclockは正しいようだけど、詳細の内容が実態に即してないように思える。
同じコードを、以前Unix(CentOSやFedora)環境でやってみても、同じような結果になる。
(とゆうか、詳細な数値は覚えてないけど、CGIとCGI::Liteが、ほぼ同程度の速度とかレポートされた。)
あと、そのLinuxで、>>533のようなベンチを取ったときも、やっぱり push(@log,$_) が最速だった。
あくまでもウチの環境で、でだけど。
@log=<IN>の倍程度は出てた。ファイルの容量、行数が多いほうが、よりpushが早かった。
(そちらのDarwinは、@log=<IN>形式がかなり早いね。)
ついでに、>>533のコードに、use Time::HiRes 書き足して、自分の環境でやった結果。
(OS等は同上。ファイルは、1行約200バイト、50万行で総計約100MB。時間かかるので、n=2で測定)
Benchmark: timing 2 iterations of op1, op2, op3...
op1: 72 wallclock secs (70.59 usr + 1.36 sys = 71.95 CPU) @ 0.03/s (n=2)
op2: 35 wallclock secs (33.95 usr + 0.66 sys = 34.61 CPU) @ 0.06/s (n=2)
op3: 38 wallclock secs (37.22 usr + 0.73 sys = 37.95 CPU) @ 0.05/s (n=2)
op1 = 138.750 s
op2 = 49.078 s
op3 = 54.547 s
538:nobodyさん
07/12/06 18:28:34
533 は、ただ「(データを含めた)環境によって状況は変る可能性があるよ」って言いたかっただけなんだ、が、、、
気を悪くなさったなら謝罪します。
==================================
一応、そちらの>>356の実行結果
Benchmark: timing 100 iterations of u_CGI, u_CGIL...
u_CGI: 16 wallclock secs ( 0.01 usr 0.32 sys + 11.46 cusr 3.34 csys = 15.13 CPU) @ 303.03/s (n=100)
u_CGIL: 5 wallclock secs ( 0.01 usr 0.30 sys + 3.00 cusr 1.96 csys = 5.27 CPU) @ 322.58/s (n=100)
15.595 s
5.506 s
>>357に関しては、
perl hoge.pl
Benchmark: timing 2 iterations of op1, op2, op3...
op1: 266.766 wallclock secs (16.62 usr + 29.02 sys = 45.64 CPU) @ 0.04/s (n=2)
(warning: too few iterations for a reliable count)
op2: 58.1595 wallclock secs ( 9.94 usr + 4.68 sys = 14.62 CPU) @ 0.14/s (n=2)
(warning: too few iterations for a reliable count)
op3: 899.579 wallclock secs (22.62 usr + 63.34 sys = 85.96 CPU) @ 0.02/s (n=2)
(warning: too few iterations for a reliable count)
op1 = 499.930 s
op2 = 108.665 s
op3 = 972.383 s
メモリが潤沢でないから join がこんな目に合うのは当然。
因に自己ツッコミだけど、>>533はサブルーチン内で my @arr なりしないとアンフェアなベンチ、、、、
539:530
07/12/06 20:10:20
>>538
いえいえこちらこそ申し訳ないです。そうゆうわけではありません。
ただ、use Benchmark にイマイチ信用が置けない者の意見として、
状況によっては、use Benchmark がアテにならないこともあるよ、ってことが言いたかっただけです。
>因に自己ツッコミだけど、>>533はサブルーチン内で my @arr なりしないとアンフェアなベンチ
そこは最初に気付いたから、自分のコードの中では、my して計測してます。
追記
CentOS5 でもやってみた。(コード、ファイルはWin環境と同じ)
This is perl, v5.8.8 built for i386-linux-thread-multi (Pen4 2.4G men2G、ソースから'-O3'オプションでコンパイル)
Benchmark: timing 2 iterations of op1, op2, op3...
op1: 5 wallclock secs ( 3.59 usr + 0.54 sys = 4.13 CPU) @ 0.48/s (n=2)
op2: 2 wallclock secs ( 2.44 usr + 0.21 sys = 2.65 CPU) @ 0.75/s (n=2)
op3: 4 wallclock secs ( 3.08 usr + 0.59 sys = 3.67 CPU) @ 0.54/s (n=2)
op1 = 3.677 s
op2 = 2.819 s
op3 = 3.510 s
はやっ!
以前計測した時はこんな早かったかな~って思ったけど、何回やっても同じような結果になるんで、あってるんだろう。
どうもWin(ActivePerl)が、Unix系に比べて、メモリ確保あたりが激しく遅いのかなって気がしてくる結果でした。
(Discパフォーマンスは同程度、ってかこの環境に限っては、上のレスのWin環境のほうが早い)
540:nobodyさん
07/12/07 21:30:21
>>534
つ seek
541:nobodyさん
07/12/10 02:52:34 FqUmo5vT
>>1 を読んで、ここなら私の質問も馬鹿にされずに
答えてくれるかと思いましたが、
どうやらそれすら適わないようです。
もっと低レベルの質問をしたい場合はどこに行けば良いですか?
542:nobodyさん
07/12/10 02:55:27
樹海
543:nobodyさん
07/12/10 20:07:09 iaWb7lQX
open(ファイルファンドル,"ファイル名") || &error; ←この&error;もしくはdieとかは
なんの意味があるんでしょうか?
これあってもなくてもInternal Server Error(500)になるんですけど・・・
544:nobodyさん
07/12/10 20:21:45
>>543
ファイル開くのが失敗した時にorの右の式が実行される。
ファイルが無事開ければ1が返すけど、
失敗すると0が返ってくる。
0 or &error;
って実行するとorの右の式が実行されるのが分かる。
my $flag = open~;
print $flag;
とかやってみれ
どっちにしても500になるのはファイルが存在しないからか、
別の場所でエラーが起きてる。
スクリプトの3行目あたりに
use CGI::Carp 'fatalsToBrowser';
を追加してテバックしなさい。
暇だからマジレスしたぜ
545:nobodyさん
07/12/10 20:33:24
>>544
レス㌧です
>500になるのはファイルが存在しないから
あーやっぱりファイル無いと500でるんですね・・
一応ローカルでファイルあるとき(使用中(オープン中))はエラー表示されますた
546:nobodyさん
07/12/10 23:08:25
>>545
ファイルが無くてもorの右の式は実行されるよ。
ローカルでは動くならパーミッションのミスか、cgi用のディレクトリに入ってないとかじゃない?
あとは、perlのパス間違ってるとか。
ファイルが無いときにエラー処理したいなら
&error if (not -e $file);
とかにしれ
or &error;ってやるのはロック中だけにするとエラーの原因が絞れるよ。
547:543
07/12/11 02:37:10
>>546
ローカル環境はXP+apache_1.3.39+ActivePerl-5.8.8.822です
use CGI::Carp qw(fatalsToBrowser);もスクリプトに入ってます
---------------------------------------------
open(FH,"abc.dat") || &error;←ココ
flock(FH,1) || &error;
以下割愛
sub error {
print "content-type: text/html\n";
print "\n";
print "ERROR : $!";
exit;
}
---------------------------------------------
>ファイルが無くてもorの右の式は実行される
>ファイルが無いときにエラー処理したいなら
>&error if (not -e $file);
どうも無理っぽいです ファイル無いと500エラー出ます
500用のエラーページ(←自分で作った)も表示されないので
ファイルが無いと500(強制終了?)ぽいです?
548:nobodyさん
07/12/11 07:09:06 hJLc29jh
>>547
> flock(FH,1)
その部分を
eval{flock(FH,1)};
にしてごらん
windowsではflock使うと致命的エラーになるよ。
549:nobodyさん
07/12/11 08:21:01
>>547
apacheのエラーログになんて出てる?
550:nobodyさん
07/12/11 10:15:38
嘘つくなよ
flockできないのは、非NT系だけ
551:nobodyさん
07/12/11 17:54:09
>>550
ごめんガチでしらんかったorz
552:nobodyさん
07/12/11 18:01:01 hJLc29jh
>>547
良く見りゃopenの種類書いてないけどそこ大丈夫?
>,>>,<,>+
553:nobodyさん
07/12/11 18:58:11
>>552
匿名掲示板だからといって、いい加減なこと言わない方がいいよ。
今まで何度匿名掲示板で犯罪予告して逮捕されたか、知っているの?
偽計業務妨害で逮捕されろ。
554:543
07/12/11 21:44:35
遅くなりました
>>549
ログはこんなんです。
["日時"] [error] [client 127.0.0.1] Premature end of script headers: "該当CGIへのパス"
>>552
openモードの1は省略可能では?
555:nobodyさん
07/12/12 00:35:05 amxfThwD
PHP4使ってます
作ったスクリプトをブラウザで実行させると
1分くらい待った後にエラーも出ずに、画面が真っ白に
なったんですが、何が原因ですか?
コマンドラインで-l付きで実行しても文法エラーは出ませんでした。
ただ、コマンドラインが異常に重くなったので、
PCにかなり負担をかけているようです。
無限ループ系のエラーかな?
556:nobodyさん
07/12/12 10:04:09
>>555
このスレのタイトルを、声を出して読めば何が原因かわかると思います。
557:nobodyさん
07/12/12 10:45:09
>>555
ちなみにperlは「パール」と読みます。
超初心者用は「ちょうしょしんしゃよう」です。
三回ほど声に出して読んでみてはいかがでしょう?
558:nobodyさん
07/12/12 20:59:26
超初歩的な質問なんだけど、ActivePerl5.8.8を
インストールしたんだけどコンパイルとか実行の仕方がわかんないです。
どなたか助けてもらえませんか?
559:nobodyさん
07/12/12 22:23:24
何がしたくてインストールしたのさ?
560:nobodyさん
07/12/13 00:30:26
>>558
>>556
561:nobodyさん
07/12/13 02:13:55
>>558
Perlはスクリプト言語なので、コンパイルは必要ありません。
コマンドラインからスクリプトを指定して実行するか、
AN HTTPD等からCGIを実行するのに使うのか、
それによってやり方が違います。
とりあえず、わざわざActivePerlを選んだって事はWindowsだと思いますが、
Windowsのバージョン(9x/2000/Xp/Vista)によって設定方法が色々違うので、
下記の情報を書くと多少は情報が得られると思います。
・OSのバージョン
・利用目的(CGI?ローカルのスクリプト?)
とりあえず、藻前は↓コレでも見て出直せYO!
URLリンク(pocketstudio.jp)
562:nobodyさん
07/12/14 06:41:05
>>561
匿名掲示板だからといって、いい加減なこと言わない方がいいよ。
今まで何度匿名掲示板で犯罪予告して逮捕されたか、知っているの?
偽計業務妨害で逮捕されろ。
563:nobodyさん
07/12/14 15:25:54
>>562 m9(^Д^)プギャーーーッ
564:nobodyさん
07/12/14 21:44:19
聞きづらい雰囲気だ(笑
CGIなんだけど、あるディレクトリの中身を全消去してから、
そのディレクトリ自体を消去するしようとしているんだけど、ディレクトリの消去がうまくいかない。
$dir = "./abc/hoge/";
opendir DIR, $dir;
@files = grep { !m/^(\.|\.\.)$/g } readdir DIR;
closedir DIR;
$flag = @files;
if ( $flag ) {
foreach $file ( @files ) {
unlink "$dir$file";
}
}
rmdir ("abc/hoge");
rmdirの使い方を間違ってるかと思って、中身入っていないabc/hoge2で試してみると消えてくれた。
どうやらunlink→rmdirの流れが悪いのかと思って、sleepで5秒間止めてみたけど、何も変わらなかった。。。
誰かわかる人いる??検索しても全然わからんかった。。。
565:nobodyさん
07/12/14 21:47:56
>>564
匿名掲示板だからといって、いい加減なこと言わない方がいいよ。
今まで何度匿名掲示板で犯罪予告して逮捕されたか、知っているの?
偽計業務妨害で逮捕されろ。