トップページ⇒php
981コメント390KB

くだすれPerl(超初心者用)2

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2008/03/03(月) 05:07:32ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Perl使いが優しくコメントを返しますが、
お礼はPerlの布教と初心者の救済をお願いします。
0910nobodyさん2008/12/27(土) 00:59:07ID:???
おまえらmod_perlite作ってるから少しまたれよ
0911nobodyさん2008/12/28(日) 03:50:28ID:???
>>910
待つかどうか判断したいので、まずはリポジトリ晒してもらおうか。
0912nobodyさん2008/12/28(日) 06:40:16ID:???
ぐぐった? http://www.modperlite.org/
0913nobodyさん2008/12/29(月) 10:09:26ID:p2M05RZ+
リフレッシュでgoogleに飛ばしたいんですがいろいろやっても飛びません。どう直せばいいんでしょうか。ロケーションならいけるみたいなんですが、リフレッシュで飛びたいんです。

#!/usr/local/bin/perl

print "Refresh: 3;http://google.com/","\n";
print "Content-type: text/html\n\n";
print "a";
exit;

0914nobodyさん2008/12/29(月) 10:19:37ID:???
url=http://nanntoka
0915nobodyさん2008/12/29(月) 14:53:03ID:???
meta要素で書かないと。
0916nobodyさん2008/12/31(水) 22:39:26ID:vTUPxBET
レスキューさんのCGIを少し触ってこの場合yahooへ三回クリックされれば次のgooへ三回、その次はgoogleを2回
ってな感じで繰り返すのですがyahooへ三回飛ばしたい場合

if ($count>=0 and $count<=4){
print "Location:$word_5\n\n";
}elsif ($count>=5 and $count<=9){
print "Location:$word_5\n\n";
}elsif ($count>=10 and $count<=14){
print "Location:$word_5\n\n";

三回書くのではではなく
:$word_5 = 3

みたいな感じで数字で回数を指定するにはどう書いたら良いでしょうか?
できたらコピペで使えるような答えが欲しいです・・・お願いします。

http://test.testars.com/link.txt ソース
http://test.testars.com/link.cgi


09179162008/12/31(水) 22:42:28ID:???
あ、すいませんこの場合yahooへ9回でした。
$word_5 = 9
みたいに書く方法無いでしょうか?
09189162008/12/31(水) 22:43:52ID:???
ち・・ちがったyahooへ15回でした(汗
すいません
0919nobodyさん2009/01/02(金) 02:39:12ID:???
#! /usr/bin/perl
use strict;
my @num_url = (
  "2,http://www.yahoo.co.jp/",
  "3,http://www.goo.ne.jp/",
  "2,http://www.google.co.jp/");
my $file = "./count";
my ($fh, $count);
open($fh, "<", $file) or die "error";
$count = <$fh>;
close($fh) or die "error";
chomp $count;
my $num_url;
my $i = 0;
for $num_url (@num_url) {
  my ($num, $url) = split(/,/, $num_url);
  if ($count >= $i and $count < $i + $num) {
    print "Location:$url\n\n";
  }
  $i += $num;
}
$count++;
if ($count >= $i) {
  $count = 0;
}
open($fh, ">", $file) or die "error";
print $fh $count;
close($fh) or die "error";
09209162009/01/02(金) 13:25:54ID:???
>>919
ビッグなビッグなお年玉でした。
ありがとうございます、感謝!!
0921nobodyさん2009/01/03(土) 21:24:01ID:xUjko049
ちょっと質問させて下さい。
cgi掲示板を連ねてレンタル掲示板を作ろうかと検討しています。

そこで、全てのフォルダにある掲示板cgiに広告を表示させたいのですが、
MTみたいなモジュールを使って表示させることを掲示板cgiで可能なのでしょうか?

サーバー内
┏bbs1(レンタル)フォルダ
┣bbs2(レンタル)フォルダ
┣bbs3(レンタル)フォルダ
┣bbs4(レンタル)フォルダ
┣bbs5(レンタル)フォルダ
┣bbs6(レンタル)フォルダ
┣bbs7(レンタル)フォルダ
以下どんどん追加

全てに共通した広告を出す。
また、広告の修正なども、1つを修正すれば全てに反映されるようにしたい。
0922nobodyさん2009/01/03(土) 21:37:02ID:???
マルチ乙
0923nobodyさん2009/01/03(土) 23:20:23ID:???
>>921
カンタンだろw
できないなら金払って頼めばいい。
0924nobodyさん2009/01/03(土) 23:50:12ID:xUjko049
>>923
それを聞いてんだろカス!

教えてやる知識ねーならくんなよボケw
0925nobodyさん2009/01/04(日) 00:16:52ID:???
質問コーナーでは知識を持ってるものが圧倒的に偉いという事が
バカにはわからないようだ。ww
0926nobodyさん2009/01/04(日) 00:24:01ID:???
別に偉くはないが。知識も示してないようだし。
0927nobodyさん2009/01/04(日) 00:31:33ID:???
そうか?

教えてもらえないバカは回答得ようと必死でマルチしてるが、
俺は教えなくても何にも困って無いぞ。
0928nobodyさん2009/01/04(日) 00:55:27ID:???
>>921
複数掲示板に対応するスクリプトをひとつ用意した方が楽じゃないか?
まあ、ム板にもあったように広告用モジュール作って、読み込ませればいい。
0929nobodyさん2009/01/04(日) 03:50:47ID:???
>>924

>教えてやる知識ねーならくんなよボケw

自分に対して「教えてやる」って・・・
まず日本語から勉強じゃまいか?
それ以前に幼児に対するような躾が必要そうだがw
0930nobodyさん2009/01/04(日) 10:21:21ID:???
躾入りまぁす(´・ω・`)
0931nobodyさん2009/01/04(日) 10:28:04ID:???
>>924
ここの解答者は頭おかしいから期待できないよ
知ってても教えないし
知らないくせに知ってる振りをして質問者を罵倒して楽しんでる
人間として未熟なのが多いよ
2人くらい解答はまともな人居てるけど
気分屋ってとこは他のカス解答者と一致してる

俺だったらbbs0(基本bbsこれはレンタルで使わない)を作って
他のフォルダにあるbbsからbbs0を読み込む
0932nobodyさん2009/01/04(日) 11:30:03ID:???
>>931

>924やお前みたいなバカは相手にする気も起きないが
まともな質問者に対してはちゃんと答えてる
お前も過去にマヌケな質問して相手にされなかったクチか?

あと、お前も日本語の勉強し直せw
0933nobodyさん2009/01/04(日) 11:52:32ID:???
>>932
あなたの言うまともな質問者なんて極少数だろね
>>924は煽りっぽくなってるけど
わからないから質問してるように思うよ
解答者を煽るためのトラップ質問じゃないよ
俺はどう答えればわからないから答えれないけど
わかるんなら解答してあげてください

>>924
解答者すべてにまともに答えていたらケンカになっちゃうよ
解答がスグに欲しいのはわかるけど
逆切れ書き込むより質問内容を充実させた方がいいと思う
ただし、後だし条件は嫌われるので
やりたいこと全てを一気に質問せずにひとつづつゆっくりまったり
0934nobodyさん2009/01/04(日) 16:53:44ID:???
Perlはドキュメントも資料も本も揃っているから、
それでも質問するのは、本当の難問にぶつかった人か、
あるいは異常者。
0935nobodyさん2009/01/04(日) 18:07:23ID:???
>>932
そもそもここは重複・隔離スレなんだからまじめに答えるな。
この板の初心者質問スレとム板の質問箱だけで充分だ。
0936nobodyさん2009/01/04(日) 18:12:19ID:ca/zCwOY

ム板


てどこの板のことでつか?
0937nobodyさん2009/01/04(日) 22:14:51ID:???
わかんない奴は来ないでいいよ。
0938nobodyさん2009/01/04(日) 23:20:32ID:???
ム板

てどこの板のことですか?
0939nobodyさん2009/01/04(日) 23:29:16ID:???
ム板はプログラム
マー板はプログラマー
0940nobodyさん2009/01/05(月) 05:09:26ID:???
プログラマー板はマ板な。
ちなみにプ板はプロレス板。
0941nobodyさん2009/01/05(月) 08:36:42ID:???
プロ野球は?
0942nobodyさん2009/01/09(金) 15:09:32ID:sHD2/VBK
今時レンタル掲示板か。
0943nobodyさん2009/01/09(金) 15:30:58ID:dxaSQaiQ
>>941
坂東
0944nobodyさん2009/01/09(金) 16:48:31ID:???
エラーが全然わからないので、教えてください。

#!/usr/bin/perl

for ($i=1; $i<1000; $i++)
{
if( $i<10 ){
$x = $i * 0.00001;
system( "./実行プログラム $x > Data/data4.0/output000[$i].txt");
}
els if(($i>9) && ($i<100)){
$x = $i * 0.00001;
system( "./実行プログラム $x > Data/data4.0/output00[$i].txt");
}
els if(($i>99) && ($i<1000)){
$x = $i * 0.00001;
system( "./実行プログラム $x > Data/data4.0/output0[$i].txt");
}
else{
$x = $i * 0.00001;
system( "./実行プログラム $x > Data/data4.0/output[$i].txt");
}
}

で、実行すると、
syntax error at ./cycle1.pl line 9, near "){"
syntax error at ./cycle1.pl line 13, near "){"
syntax error at ./cycle1.pl line 16, near "}"
Execution of ./cycle1.pl aborted due to compilation errors.
のようなシンタックエラーが出てしまいます。どこの文法が間違っているのかわからず。
どうか、アドバイスお願いします。
ちなみに、実行プログラムは、具体的なプログラム名が入ります。
0945nobodyさん2009/01/09(金) 17:10:55ID:???
>>944
初心者だが、els if は elsif では?
0946nobodyさん2009/01/09(金) 17:17:11ID:???
>>945
そうでした・・
教えてくださりありがとうございました。
こんなことで3時間考えてた自分がはずかしーーーーーーーーー
0947nobodyさん2009/01/10(土) 07:38:22ID:???
syntax error って言われたらsyntaxをチェックしろよ
0948nobodyさん2009/01/10(土) 19:47:19ID:???
プログラムのどこにもsyntaxという文字が見当たりません。
って言われかねないこんな世の中では
0949nobodyさん2009/01/10(土) 20:13:32ID:???
>>948
つ さすがにそこまでの阿呆はいないのでは?
0950nobodyさん2009/01/11(日) 14:16:29ID:???
極端な例を探せばきりがない。いないなんてありえない。
0951nobodyさん2009/01/11(日) 19:23:36ID:oQI3lzQf
my $test=1;
if($test){
&left;
}else{
&right;
}
この場合leftへ行きますがこの場合でもrightの内容って
メモリ上に書き込まれるんですか?多分書き込まれますよね・・・?
0952nobodyさん2009/01/11(日) 19:26:29ID:???
メモリ上にはsub right{}を解釈した時点で
0953nobodyさん2009/01/12(月) 02:39:30ID:???
どなたか知恵を貸して頂けないでしょうか。

今、メールの受信をきっかけにプログラムが動くように、
.forwardを使用したperlスクリプトを組んでいるのですが、

レンタルしたサーバのヘルプに分からない点があり、
そのサーバのヘルプにあるサンプルプログラムすら動かない状況です。

ヘルプには、
「.forward はローカルアカウント(@の左側がユーザー名)へのメールに対してのみ効果を生みます。」
と書いてありますが、この意味も恥ずかしながら良く分からず、
【ユーザ名@取得ドメイン】のメールアドレスにメール送信しても、
指定の.plファイルが動かない状態です。

このスレでお聞きする事では無いかも知れませんが、
どこでお聞きすれば良いのかすら分かりません。
些細な事でもかまいませんので、是非とも教えて下さい。
宜しくお願いします。
0954nobodyさん2009/01/12(月) 03:31:43ID:???
具体的にどういう設定したの?
サンプルプログラムが用意されていてそれが動かないなら鯖の中の人に言うしかないね
0955nobodyさん2009/01/12(月) 04:51:28ID:???
>954
お返事ありがとうございます。
.forward には、
|/home/ユーザ名/test.pl

test.pl には、
#!/usr/bin/perl

use Jcode;
my($mail) = join("", <>);
open MAIL, ">>/home/ユーザ名/forwarded_mail.txt" or die;
print MAIL jcode(\$mail)->euc;
close MAIL;

となっており、
上記はレンタルサーバのヘルプからの例をコピペしたものです。

要するにメールを受信したら、
それをforwarded_mail.txtに書き込むというスクリプトです。ソースや.forwardを置くディレクトリは間違ってないと思うのですが、
ローカルアカウントのメールに対してのみ効果を生む、という、その意味が知識不足な故、分かりません。

ローカルアカウントのメールアドレス「ユーザ名@取得ドメイン」の、
メールアドレスは送信は出来るけど受信が出来ないアドレスでした。

yahooフリメから↑のローカルアカウントのメールアドレスに、
テストメール送信を行いましたがエラーでyahooに帰ってきます。
しかしローカルアカウントアドレスからyahooにメールすると、
yahooに届くという一方通行となっているみたいです。

何か思い当たる点がありましたら、
どんな些細な事でも良いので教えて頂けたら幸いです。
0956nobodyさん2009/01/12(月) 12:32:16ID:???
実行フラグは?
0957nobodyさん2009/01/12(月) 13:16:09ID:???
「送信は出来るけど受信が出来ないアドレス」
などという訳のわからないことを言っている状態で、やらないで欲しい。

> 何か思い当たる点がありましたら、
SMTP関連をちゃんと勉強すること。
SMTPのプロトコルやDNSのMXレコード、サーバ上でのdispatchの手順など。
さらには、>>956 の言うことなど。

思い当たる点だらけ、で、数冊の本になりそうな状態だと指摘しておく。
0958nobodyさん2009/01/12(月) 17:50:00ID:tJlllgzB
>>952
ですよね。ありがとうございました。
0959nobodyさん2009/01/13(火) 01:49:52ID:???
>957
ご指摘ありがとうございます。
自分が今回やりたい事に関係する知識が乏しい事はとても自覚しております。
仕事の関係で全く知識のない分野をやる事になり、全てが手探り状態です。

また、レンタルサーバのヘルプにある.plファイルや.forward等を配置し、
ローカルアカウントへメール送信する。 という作業以外に、
他に色々と知識や作業が必要という事でしょうか。

てっきり、.fowardを置いてローカルアカウントにメールを送れば、
.forwardに指定されている.plが実行されるのかと思っていました。
>>957さんの記事に書いてある事について、しばらく勉強してみようと思います。

ありがとうございました。
0960nobodyさん2009/01/13(火) 04:23:02ID:???
他スレで聞いたのですが、スレ違いだったので、こちらで質問させて下さい。

perlで書かれたプログラムをダウンロードしたのですが、
使い方として、
・本体(exxeed.pl)は編集の必要がありません。
・cpiファイルにスクリプトを追記して、動作を指定します。

・起動方法
コンソールから
> perl exxeed.pl hogehoge.cpi

とだけ書かれているのですが、
起動するにはどうすればいいのですか?
コンソールから、の意味が分かりません。
0961nobodyさん2009/01/13(火) 04:25:09ID:???
ttp://www.google.com/search?q=console
0962nobodyさん2009/01/14(水) 13:53:56ID:???
>>960
ググれ粕


WindowsXPだと仮定して
ウィンドウズキー+R
cmdと入力してEnter
cd (Alt+半角)デスクトップ
perl -cw ×××.pl
syntax OK
perl ×××.pl
0963nobodyさん2009/01/14(水) 14:27:04ID:???
>>960
コンソールが分からんのにperlをどうやってインストールしたの?

>>962
というわけでそのやり方でもダメな気がする。
0964nobodyさん2009/01/14(水) 17:00:54ID:???
>>963
別にWindowsにインストールしたのであればコンソール関係無いし。。。
インストーラーでWindowsにPerl入りますよ、知らないの??

まあ>>962はWindowsでの話だしUnix/Linuxでは少し変わってくるな。
0965nobodyさん2009/01/14(水) 17:09:52ID:???
ん?>>962のやりかたなら急にプロンプト出てきて粕坊やはびっくりしてわからなくなるんじゃないのカナ
0966nobodyさん2009/01/14(水) 17:23:33ID:???
「コンソール」でぐぐると、『ディスプレイとキーボードを指す』と出てくる。

ここで話されてるのは、『コマンドラインインタフェース』という意味での「コンソール」。
Wikipedia読めばわかるが、本来の意味とはちょっと違って使われているわけです。
09679602009/01/14(水) 19:04:12ID:???
皆さんありがとうございます。
サーバーにアップして使いたいのですが、
ローカルで実行するプログラムであって、
サーバーで実行することはできないという事ですか?
0968nobodyさん2009/01/14(水) 19:19:39ID:???
>>967
perlがどのように動作しているのかよくかんがえるんだ!
0969nobodyさん2009/01/14(水) 20:56:14ID:???
なんでこんな無知がこの世に存在しているのかが謎
09709602009/01/14(水) 20:57:18ID:???
別スレで質問した際に、シェルから実行すればいいと言われたのですが、
シェルから実行すればサーバー上で実行できると言うことですよね?
でもシェルから、、という意味がよくわかりません。
サーバー上のcronを使うのかと始め思ったのですが、違うみたいですし、、
0971nobodyさん2009/01/14(水) 21:04:34ID:VxBaEqTh
なんでこんな無知がこの世に存在しているのかが謎
0972nobodyさん2009/01/14(水) 21:06:23ID:???
ダウンロードしたのはどういうものなの?
ローカルで実行したいの?CGIから?
0973nobodyさん2009/01/14(水) 21:09:42ID:VxBaEqTh
少しは書籍読んで勉強くらいしたらどうなんだ。
0974nobodyさん2009/01/14(水) 21:39:16ID:???
  |   |  | |   |    |  | |   |   |   || | |
  |   |  | レ  |    |  | |   |  J   || | |
  |   |  |     J    |  | |  し     || | |
  |   レ |      |  レ|       || J |
 J      し         |     |       ||   J
             |    し         J|
             J                レ
     /V\
    /◎;;;,;,,,,ヽ
 _ ム::::(l|l゜Д゜)| …
ヽツ.(ノ::::::::::.:::::.:..|)
  ヾソ:::::::::::::::::.:ノ
   ` ー U'"U'


0975nobodyさん2009/01/14(水) 22:04:03ID:???
ここは超初心者用。便器の前に連れて行って、チャック開けて
チンコ出すところまでやってあげな。
0976nobodyさん2009/01/14(水) 22:13:48ID:???
なるほど。。。了解した☆

>>960さん
サーバへのアップの方法はわかりますか?
0977nobodyさん2009/01/14(水) 22:17:50ID:???
>>970
もうちょっと自分で調べる努力しないと、後々つらいと思うけど
とりあえずヒント。

まずあなたがサーバで実行したいPerlのプログラム(スクリプト)を
あなたのパソコンからサーバへコピーしてください。

サーバをパソコンからリモートコントロールするために
通信ソフト(Telnetとかターミナルとかいろんな名前がある)で
サーバに通信できるようにしてください。

サーバと繋がってWindowsのコマンドプロンプトのように
キーボードから命令が打ち込める画面になったら
そこで>>960にあなたが書いた
"perl exxeed.pl hogehoge.cpi"を入力してください。
運が良ければサーバであなたがダウンロードしたプログラムが動くかもしれません。

これはあくまでもヒントです。具体的な手順は書いていないつもりです。
分からない用語や言葉があれば自分で調べてください。
調べる気がないのなら、あなたにそのプログラムを動かす事は出来ないと思ったほうがいいです。

>>974
釣り針にあえて釣られてみた。

>>975
とりあえずチンコの出し方は書いてみたが
この程度なら自分の服を汚す可能性は高いよな。
0978nobodyさん2009/01/14(水) 22:23:20ID:???
止めてっ!出すなら便器に出して!顔は嫌!ですね、わかります。
09799602009/01/14(水) 22:25:12ID:???
ありがとうございます<(_ _)>

とりあえず、頂いたヒントを参考にチンポ挿入を試みてみます!!
0980nobodyさん2009/01/14(水) 22:26:51ID:???
ガンガレ
0981nobodyさん2009/01/14(水) 22:30:53ID:???
入れる時は優しくだぞ、がんがれ☆
レス数が950を超えています。1000を超えると書き込みができなくなります。