くだすれPerl(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/09/10(日) 13:33:48ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Perl使いが優しくコメントを返しますが、
お礼はPerlの布教と初心者の救済をお願いします。
0552nobodyさん
2007/12/11(火) 18:01:01ID:hJLc29jh良く見りゃopenの種類書いてないけどそこ大丈夫?
>,>>,<,>+
0553nobodyさん
2007/12/11(火) 18:58:11ID:???匿名掲示板だからといって、いい加減なこと言わない方がいいよ。
今まで何度匿名掲示板で犯罪予告して逮捕されたか、知っているの?
偽計業務妨害で逮捕されろ。
0554543
2007/12/11(火) 21:44:35ID:???>>549
ログはこんなんです。
["日時"] [error] [client 127.0.0.1] Premature end of script headers: "該当CGIへのパス"
>>552
openモードの1は省略可能では?
0555nobodyさん
2007/12/12(水) 00:35:05ID:amxfThwD作ったスクリプトをブラウザで実行させると
1分くらい待った後にエラーも出ずに、画面が真っ白に
なったんですが、何が原因ですか?
コマンドラインで-l付きで実行しても文法エラーは出ませんでした。
ただ、コマンドラインが異常に重くなったので、
PCにかなり負担をかけているようです。
無限ループ系のエラーかな?
0557nobodyさん
2007/12/12(水) 10:45:09ID:???ちなみにperlは「パール」と読みます。
超初心者用は「ちょうしょしんしゃよう」です。
三回ほど声に出して読んでみてはいかがでしょう?
0558nobodyさん
2007/12/12(水) 20:59:26ID:???インストールしたんだけどコンパイルとか実行の仕方がわかんないです。
どなたか助けてもらえませんか?
0559nobodyさん
2007/12/12(水) 22:23:24ID:???0561nobodyさん
2007/12/13(木) 02:13:55ID:???Perlはスクリプト言語なので、コンパイルは必要ありません。
コマンドラインからスクリプトを指定して実行するか、
AN HTTPD等からCGIを実行するのに使うのか、
それによってやり方が違います。
とりあえず、わざわざActivePerlを選んだって事はWindowsだと思いますが、
Windowsのバージョン(9x/2000/Xp/Vista)によって設定方法が色々違うので、
下記の情報を書くと多少は情報が得られると思います。
・OSのバージョン
・利用目的(CGI?ローカルのスクリプト?)
とりあえず、藻前は↓コレでも見て出直せYO!
http://pocketstudio.jp/win/activeperl/
0562nobodyさん
2007/12/14(金) 06:41:05ID:???匿名掲示板だからといって、いい加減なこと言わない方がいいよ。
今まで何度匿名掲示板で犯罪予告して逮捕されたか、知っているの?
偽計業務妨害で逮捕されろ。
0564nobodyさん
2007/12/14(金) 21:44:19ID:???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秒間止めてみたけど、何も変わらなかった。。。
誰かわかる人いる??検索しても全然わからんかった。。。
0565nobodyさん
2007/12/14(金) 21:47:56ID:???匿名掲示板だからといって、いい加減なこと言わない方がいいよ。
今まで何度匿名掲示板で犯罪予告して逮捕されたか、知っているの?
偽計業務妨害で逮捕されろ。
0566nobodyさん
2007/12/15(土) 01:11:18ID:???use Cwd;
my $dir = "/abc/hoge/";
my $cwd = Cwd::getcwd();
execcommand("/bin/rm -r $cwd/$dir");
exit;
sub execcommand
{
my $cmd = shift;
my $err = '';
my @envbak = ($ENV{'IFS'}, $ENV{'CDPATH'}, $ENV{'ENV'}, $ENV{'BASH_ENV'}, $ENV{'PATH'});
delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV', 'PATH'};
eval{
system( $cmd );
};
if ($@) {$err = $@;}
$ENV{'IFS'} = $envbak[0];
$ENV{'CDPATH'} = $envbak[1];
$ENV{'ENV'} = $envbak[2];
$ENV{'BASH_ENV'} = $envbak[3];
$ENV{'PATH'} = $envbak[4];
return $err;
}
0567564
2007/12/16(日) 19:49:12ID:???ありがとうございます。
参考にさせていただきました。
0568nobodyさん
2007/12/17(月) 22:02:42ID:???mimew.pl というファイルを公開している所が見つからないのですが、
なんとか入手する方法はないでしょうか?
0569nobodyさん
2007/12/17(月) 22:08:17ID:???多分これ。保証はしない。
つ[ ttp://ambiente.okayama-u.ac.jp/~blog/cgi-bin/su_downloader/mimew.pl ]
0570nobodyさん
2007/12/17(月) 23:05:24ID:???0571568
2007/12/17(月) 23:13:17ID:???早急な対応ありがとうございます!
無事メールフォームCGIを動かす事が出来ました!!
本当にありがとうございました!
0572nobodyさん
2007/12/17(月) 23:22:17ID:???0573nobodyさん
2007/12/18(火) 08:03:18ID:???よくわからなくて試行錯誤の末下のような方法にたどり着きました
$AA{'name'} = '1234';
$BB[0]{'name'} = 'abc';
$BB[1]{'name'} = 'ああああ';
$BB[2]{'name'} = '!?';
kansuu( \%AA );
$tmp = \@BB;
kansuu( ${\$tmp->[0]} );
kansuu( ${\$tmp->[1]} );
kansuu( ${\$tmp->[2]} );
sub kansu
{
my $h = $_[0];
print "$h->{'name'}<br>";
}
BBの要素を kansuu() に入れるために
もっとスマートな方法(っていうか正しい書式)がありましたら教えてくれないでしょうか?
0574nobodyさん
2007/12/18(火) 19:13:55ID:???ウインドウズXPを使っています。
ActivePerlでコマンドプロント上でppmを使ってImage::ExifToolをインストールしようとしたのですが
>ppm install failed: DBI connect(〜) failed: unable to open database file(1)
と出てインストールできませんでした。
DBIをどうにかしたらよいとは思うのですがよく分かりません。
どうしたらよいのでしょうか?
ご教授お願いします。
0575nobodyさん
2007/12/18(火) 21:22:12ID:???0576574
2007/12/19(水) 19:22:29ID:???具体的な問題点は
・ppmはActivePerlをインストールしただけでは使えない?
・DBIとか落としてきてもどうやってインストールしたらいいのか分からない。
・そもそもPerlの作業をどこで行ったらいいか分からない。
(コマンドプロントでuseをしてもなんにも起こらない←間違っている?)
・つまるところプログラミングのイロハが分からない。
スレ違いというやつですか?
0577574
2007/12/19(水) 19:37:06ID:???ttp://www.fenrir.co.jp/blog/2007/12/useraction_extension_3_1.html
つまずいたのは2のところです。
0579nobodyさん
2007/12/19(水) 23:17:02ID:???使える
・DBIとか落としてきてもどうやってインストールしたらいいのか分からない。
ppmを使う
・そもそもPerlの作業をどこで行ったらいいか分からない。
(コマンドプロントでuseをしてもなんにも起こらない←間違っている?)
まずテキストエディタで書いて保存する
・つまるところプログラミングのイロハが分からない。
あっそ
0580nobodyさん
2007/12/21(金) 01:37:26ID:???WebProgramingに無関係。板違い。誘導。
Perlについての質問箱 33箱目
http://pc11.2ch.net/test/read.cgi/tech/1192463997/l50
0582nobodyさん
2007/12/22(土) 00:59:24ID:+1+1pRnk8 9 10 ってファイル読み込んで
8 9 って出力するにはどう書けばよいですかね
0583nobodyさん
2007/12/22(土) 01:26:23ID:???0584nobodyさん
2007/12/22(土) 02:11:54ID:At3tOlJk0585nobodyさん
2007/12/22(土) 03:40:10ID:???読み込んだファイルの三ツ目の物が必要無いのか
読み込んだファイルの最後の物が必要無いのか
条件が分からなければ判別のしようが無い
0586nobodyさん
2007/12/22(土) 04:19:02ID:At3tOlJkです
ほんとありがとうございます(泣)
0587nobodyさん
2007/12/22(土) 21:44:20ID:???8 9 10ってのは毎回8 9 10なのか?・・・毎回同じってわけじゃないだろうな。
区切りはスペースだけ?タブも?ファイルの中に改行はあるの?
0588nobodyさん
2007/12/22(土) 22:22:37ID:???0589nobodyさん
2007/12/23(日) 04:25:06ID:nSEv05U98 9 10ってのはファイルの内容で
8 9 10ってのは毎回同じってわけじゃないです。
区切りはスペースだけ
0590nobodyさん
2007/12/23(日) 05:02:25ID:???自分で作る気がないなら、仕様をまとめなおして、↓こっちで聞け。
Perlでリクに答えるスクリプトを作るスレ
http://pc11.2ch.net/test/read.cgi/tech/1086143976/l50
0591nobodyさん
2007/12/23(日) 08:20:22ID:???まず基礎を学べ。
んですぐ人に答えを求めようとせず頭使って考えれ。
0592nobodyさん
2007/12/23(日) 10:02:40ID:01+8BPxk記憶をよみがえらせる方法を教えてくれ
0593nobodyさん
2007/12/23(日) 10:05:44ID:???それができないなら、アルツハイマ−かもしれないから病院に逝ったほうがいいな
0594nobodyさん
2007/12/24(月) 01:41:03ID:yCHoznYX1からじゃ何も書けなくなったw
0595nobodyさん
2007/12/24(月) 07:17:33ID:???PHPなのに、気がついたら途中からPerlになってたよw
0596nobodyさん
2007/12/24(月) 12:07:01ID:???ファイルをオープンし、それを一旦最後まで読み込んだ後、
またそのファイルを最初から読み取りを行いたい場合は、
一度ファイルを閉じるしか方法がないのでしょうか。
ファイルで閉じたり開いたりを多く行うと、処理が重くなったり、
ファイルの競合で問題が起きるので、出来れば避けたいのですが。
<コーディングの例>
# ファイルを開く
open ( FL, "dat.csv" );
# ファイルを最後まで読む。
while( $line = <FL> ){
# 何らかの処理
}
close( FL );
open ( FL, "dat.csv" );
# ファイルを最後まで読む。
while( $line = <FL> ){
# 何らかの処理
}
close( FL );
0597nobodyさん
2007/12/24(月) 12:52:16ID:???やりたいことはseekでできる
0598596
2007/12/24(月) 13:19:13ID:???seekで検索してみたところ、すぐに見つかりました。
ありがとうございました。
ファイルの競合で問題というのは、ファイルのロックで
解決することなので、ここでは関係ありませんでした。
0599nobodyさん
2007/12/24(月) 16:29:55ID:???Perlのプログラマーは、オブジェクト指向プログラミングを
メインで行っているのでしょうか。
それとも、処理速度や安定性、多くの環境下で動く、Perl4互換の
構造化プログラミングをしているのでしょうか。
多くの方はどちらでやっているのかを知りたいです。
0600nobodyさん
2007/12/24(月) 16:54:59ID:???>構造化プログラミングをしているのでしょうか。
の部分が突っ込みどころ満載だが、それは使っていくうちに知ってもらうことにして、
とりあえず、Perl5が出てから10年以上たっているので、Perl4の互換性を気にする必要は全くない。
オブジェクト指向も、使いたくないなら使わなくていい。
0602nobodyさん
2007/12/24(月) 17:22:38ID:???「多くの方」はダウソしたcgiをうpしてパーミッション設定するだけだろ。
中途半端な知識でオブジェクト指向を目指すと余計に意味わかんないプログラムになる。
オブジェクト指向の考え方とPerlでのオブジェクト指向の実装方法を十分理解してないなら
オブジェクト指向に手を出さない方が良い。
0603nobodyさん
2007/12/25(火) 10:20:04ID:???レスありがとうございます。
ちょっと確認をしたくて質問なのですが、
PerlでCGIを行う場合に限定すると、サーバのメインメモリにいつまでも
情報が残るわけではないので、オブジェクト指向プログラミングは、
状態の保存などを生かしたものというより、モジュール化を行い、
関数名やグローバル変数名が競合するのを防ぐ程度の意味合いしかないように
思うのですが、この解釈はあっているのでしょうか。
0604nobodyさん
2007/12/25(火) 11:34:27ID:???かといって全部ここに書いてるとキリが無いからググってこい。
っていうか結局何が知りたいんだ? どんな答えが欲しいんだ?
0605nobodyさん
2007/12/26(水) 06:07:36ID:???0606nobodyさん
2007/12/26(水) 12:46:37ID:SU+LBgfrまったくの初心者なのでサーバーに対する負荷とかまったく考えていませんでした。
そこで疑問点が3つあります。
・MySQLが軽いとかよく聞くのですが、
本気でCGIゲームを開発する場合サーバーの負担を抑えるためどういう勉強をしていったほうがいいのでしょうか?
・perlではなくphpのほうに切り替えたほうがいいのでしょうか?
・プログラムを書き終えてperl or phpを実践した後でもMySQLに対応するのは簡単なんでしょうか?
(難しそうなのでperl or php→MySQLではなくプログラムを書き終えた後にMySQLをやったほうが
モチベーションも保てるかと思って。)
phpの話題もでてますが、今はperlのほうを勉強していてこちらのほうが聞きやすいと思って。
よければご教授よろしくお願いいたします。
0607nobodyさん
2007/12/26(水) 12:52:25ID:SU+LBgfr0608nobodyさん
2007/12/26(水) 14:37:40ID:9oL1uy7Ohttp://www.○○.com/?uid=▲▲▲
見たいなURLがあるのですが
これを
http://▲▲▲.○○.com/
にしたいと思っています。
これを実現するにはどのような手段が用いられるのでしょうか?
ご指導や参考URLを頂ければ幸いです。
よろしくお願いします。
0609nobodyさん
2007/12/26(水) 18:35:59ID:8VJWqxjlすいません
prog板初心者スレで聞いてみます、スレ違いだったかな
0611nobodyさん
2007/12/27(木) 14:37:45ID:???ありがとうございます。
聞きたかったのは、Apache + Perl でプログラムする際、
オブジェクト指向で組むと、利便性があがるかどうか、
という点です。
ネット上のサンプルソースでも、オブジェクト指向
で組まれていなかったので、何らかの理由があり、
さほど利便性がないのかと思ったのです。
できましたら、この、「何らかの理由」もあわせて
回答をいただけたらと思っています。
オブジェクト指向一般の利便性については、自分で調べますが。
0612nobodyさん
2007/12/27(木) 14:43:25ID:???それは、サーバのエラーや、Perlなどのプログラムミスによる
ものということですよね?
そのメモリに残ったプロセスを利用してということは
ないと解釈していたのですが。
0614nobodyさん
2007/12/27(木) 17:41:06ID:???これをコメントアウトすると、正常に動いていますので、
パーミッションなどの設定が原因ではないと思います。
疑われる部分はどんなことがあるのでしょうか。
0615nobodyさん
2007/12/27(木) 17:46:33ID:???package関連の記述方法についてです。
定義したクラスのメソッドにおいて、そのクラスがもつ別のメソッドを
呼び出すということは出来ないのでしょうか。
package ClassA;
sub funcA{
print "test";
}
sub funcB{
&funcA;
}
などと記述してみたのですが、エラーがでてしまいます。
&ClassA::funcA; としてもダメでした。
0616nobodyさん
2007/12/27(木) 17:57:54ID:???0618nobodyさん
2007/12/27(木) 19:37:01ID:???全角スペースでインデント(字下げ)してるのは、2chで
見やすくするためです。先頭に半角だと無視されますからね。
0619nobodyさん
2007/12/27(木) 21:40:34ID:HdAuax/Zうむ。書くしかないよな
0621nobodyさん
2007/12/28(金) 00:51:11ID:???レスありがとうございます。
最後に「1;」は書いてます。
メソッド呼び出し部分をコメントアウトすると
動作はするので、メソッド呼び出し部分がおかしいのでは、
と思うのです。
メソッド呼び出しを記述すると、動きはするのですが、
そこで停止してしまうのです。
念のための確認ですが、同じクラス内のメソッド呼び出しの
記述方法はこれであっているとみてよいのでしょうか。
それとも、「ClassA::funcA」などと記述すべきなのでしょうか。
0622nobodyさん
2007/12/28(金) 02:36:45ID:???ウチの環境で、上のコードそのままやってみたけど、
&funcB();
で、ちゃんと'test'と出力されたべ。
呼び出し側のスクリプトの問題じゃないのかな?
以下呼び出し側。
use ClassA;
ClassA::funcA();
ClassA::funcB();
---出力----
test
test
環境 WinXp SP2 ActivePerl 5.8.8-build822
This is perl, v5.8.8 built for MSWin32-x86-multi-thread
0623nobodyさん
2007/12/28(金) 02:51:08ID:???ていうかオブジェクト志向のメリット、デメリットを勉強すれば
ネット上のサンプルソースの例が少ない理由はすぐわかる。
0624nobodyさん
2007/12/28(金) 13:27:40ID:???継承に関して、ネットを調べていると、コードの書き方が
2通りあるようですが、これはどういう解釈をしたらよいのでしょうか。
ClassAが継承もととなる場合
use base qw( ClassA );
@ISA = qw ( ClassA );
use base qw()を使う方法
http://www15.plala.or.jp/h-kihara-home/prog/perl/ooperl.html
http://www.rwds.net/kuroita/program/Perl_oo.html#base
@ISAを使う方法
http://www.rfs.jp/sb/perl/04/03.html
http://bulknews.net/lib/mailmag/22/mag.txt
一方の書き方が古いという類なのでしょうか。
それとも、継承においては特に出てこない、何か違う意味が
含まれているのでしょうか。
お願い致します。
0625nobodyさん
2007/12/28(金) 14:37:39ID:???Perlの場合以下のようにドキュメントとしてコーディング規約は
まとめられてないのでしょうか。
http://www.objectclub.jp/news/community/codingstandard/
0627nobodyさん
2007/12/29(土) 00:20:43ID:???もう一度0からコードを書き直してやってみたら
動きました。
何が悪かったのだろう・・・
全角スペースが入ったりしていると、赤く表示が出る
エディタを使っているのですけどね。
原因が分かりませんが、質問の内容は解決しました。
ご迷惑をおかけしました。
0628nobodyさん
2007/12/29(土) 09:32:18ID:???Perlのオブジェクト指向を調べてみたのですが、なんだか
完全にオブジェクト指向に対応した言語ではなく、
package や ハッシュ を用いて工夫してオブジェクト指向を
実現してるみたいなものですね。
メンバやメソッドにも外部からのアクセス制限をかけたり
出来なさそうだし。
PerlをCGIでやる場合は、まず、GETやPOSTを取得して
どの関数に飛ぶのかを判定し、その関数を書いていくという
処理しかないので、構造化とさほどかわらないのかもと思いました。
ありがとうございました。
0631nobodyさん
2007/12/29(土) 14:02:28ID:???Perlのサイトにはそのサンプルが載っていなかったので、
自分なりにコードを書いてみました。
ttp://www.rfs.jp/sb/perl/02/05.html
ttp://www.site-cooler.com/kwl/perl/4.htm
関数に渡すときのコードの書き方や、受けるときのコードの書き方において、
これが偶然動いているだけなのか、不安になって質問してみました。
書き方は基本的にこれで良いのでしょうか。
やりたいことは、「ハッシュと数値を受け取り、処理を行う関数を
定義すること」です。
sub tt(){
my %t = @_;
print $t{"水"};
print "\n";
print $_[1];
}
%c;
$c{"月"} = 1;
$c{"火"} = 2;
$c{"水"} = 3;
&tt(%c,1);
0632nobodyさん
2007/12/29(土) 15:00:37ID:CoF2fqIAmy ($t,$n) = @_;
print $t->{"水"};
print "\n";
print $n;
}
%c;
$c{"月"} = 1;
$c{"火"} = 2;
$c{"水"} = 3;
&tt(\%c,1);
0633631
2007/12/29(土) 15:52:15ID:???すばやいレスありがとうございます。
いろいろ試してみて気づいたのですが、$_[1]としても、
2番目に指定した引数が取れるわけではないのですね。
今回は偶然$c{"月"}の1が表示されていただけなのには
気づきませんでした。
あと、ハッシュを関数に渡す場合は参照渡しの方が良いのですね。
非常に助かりました。
0636nobodyさん
2007/12/29(土) 20:26:23ID:???理由は大まかに言って、
・ コーディングの自由度の高さこそがPerlの特徴
→ コーディング規約で縛ったらPerlらしくない
・ Perlのコーディングスタイルとしてキーストロークをいかに減らすかを重視するスタイルが存在する
→ キーストロークを減らす派にとってコーディング規約なんて邪魔以外のなにものでもない
・ スクリプト言語なので元の用途は自前のツールをお手軽に作る事だった
→ 自分専用の道具を作るのにJIS規格とかを気にするヤツはいないのと同じでコーディング規約なんてキニシナイ
・ スクリプト言語はコンパイラ言語と違って大規模開発に向いてないと信じられていた
→ 小規模ならコーディング規約なんていらない。
って感じだな。
プロセッサも高性能化し、スクリプト言語でも十分に大規模開発が可能になったが、
・ 未だにキーストロークを減らす派の存在が大きい
・ CPANなど充実したライブラリの存在で実際にコーディングする量はそれほど増えてない
って理由から、わざわざコーディング規約を決めようとする動きも存在しないわけ。
使いたいものが、この世に存在しないなら自分で作ればいい。
もし、藻前さんがPerlのコーディング規約が欲しくて作るというなら、
目を通して意見を言うぐらいの手伝いはこのスレの人もやってくれると思う。
まあ、使う人がそんなにいるとは思えないが。
0637629
2007/12/30(日) 19:23:31ID:???詳細な説明のレスありがとうございます。
自分でもPerlについて調べていたのですが、似たようなことが書いて
ありました。自由度の高さが売りなので、逆に規約が無いということ
ですね。納得しました。(TMTOWTDIと呼ぶみたいですね。)
スクリプト言語関連の部分は調べた範囲ではなかったので、非常に
参考になりました。歴史的な経緯もあるのですね。
私は今までVBなどをやっていたので、Perlの規約が無いのには違和感を
感じますが、自分がなれている独自の規約で書いていこうと思います。
こうなると、コーディング規約よりも「こういう場合はこういう
コードを書くと便利だ」といった、Tips系のものを集めた方が
よさそうな気もしました。
例:POSTで受け取ったデータは、foreachを用いてハッシュに入れると良い。
この方法のメリットは〜〜。デメリットは〜〜。
詳しく考えがまとまったらまた相談します。ありがとうございました。
0638nobodyさん
2007/12/30(日) 20:27:22ID:???use CGI;
my $q = new CGI;
print $q -> param( 'hoge' );
これよりも簡単に書けるなら使ってやる。
0639629
2007/12/30(日) 20:56:34ID:???今まで読んでたサンプルソースにはそんなのが
なかったので知らずに全部コード自作してたよ。orz
0640nobodyさん
2007/12/31(月) 10:57:08ID:???例えば、2ちゃんねるは、別のサイトやローカルPCに保存したhtmlファイル
から「書き込む」をしてもエラーが出て受付けない仕様となっていますが、
こういった不正な入力を防ぐには、具体的にどういったコードを書いたら
よいのでしょうか。環境変数あたりで判断して行うのでしょうか。
0641nobodyさん
2007/12/31(月) 15:09:23ID:???if ($ENV{'HTTP_REFERER'} !~ m!^\Qhttp://俺のサーバ/cgiのパス\E!) {
# 外部から書くな氏ねハゲ池沼ボダ抱いて
}
みたいなかんじで
0642nobodyさん
2007/12/31(月) 15:48:47ID:???.cgi .plのスクリプトを使いたいのですが
どうすれば実行されるのですか?
クリックしても.exe .batみたいに動かないし…
やり方を教わったのですが 意味がわからないし…
教えてください お願いします
0643nobodyさん
2007/12/31(月) 15:51:39ID:???http://pc11.2ch.net/test/read.cgi/php/1187729623/443
0644640
2007/12/31(月) 19:09:34ID:???レスありがとうございます。
書き込みをみて、$ENV{'HTTP_REFERER'}をキーワードで
検索をしてみたのですが、書き方は何種類かパターンが
あるのが分かりました。
$site = "http://俺のサーバ/cgiのパス";
if($ENV{'HTTP_REFERER'} !~ /$site/i)
if($ENV{'HTTP_REFERER'} !~ /^$site/)
この書き方においては、これが一番いいなという結論のような
ものはないのでしょうか。
改行コードの変換の仕方の解説で、こういったサイトを
読んだことがあるので、ちょっと不安になって聞いてみました。
ttp://www.din.or.jp/~ohzaki/perl.htm#CRLF_Unify
0645638
2008/01/02(水) 18:35:41ID:???まぁ、おいらも最初は自作してたんだし。
それに、自作したからこそ理解できた部分もあるだろう?
心配するな。みんな同じ道を歩んできた。
>>640
参照元は偽装できるから、セッション利用するのがいいかもね。
0647nobodyさん
2008/01/04(金) 14:22:05ID:???改行されないようにするのが出来ないですよね?
具体的には、↓これをFORMタグ内に記述したりするものです。
style="float:right"
改行されるのが嫌ならば、FORMタグをTABLEタグの外で記述すれば
いい話ではありますが、デザインの都合上でそれが出来ないケースの話です。
0649nobodyさん
2008/01/04(金) 15:56:37ID:???Perlの場合は、配列と数値を引数で渡すことは出来ないのでしょうか。
例えば、以下のような感じで、@a を @n1 へ、そして、$i を $n2 で
受け取りたいのですが、$n2 値が表示されないのです。
sub FuncA(){
my( @n1, $n2 ) = @_;
print "@n1[0]\n";
print "@n1[1]\n";
print "@n1[2]\n";
print "$n2";
}
@a = ( "aaa", "bbb", "ccc");
$i = 3;
&FuncA( @a, 3 );
0650nobodyさん
2008/01/04(金) 16:19:57ID:???0651649
2008/01/04(金) 16:42:27ID:???レスありがとうございます。
以下のように書き直してみたら、ちゃんと3が表示されましたが、
こういう渡し方をするしかないという意味合いですよね?
sub FuncA(){
my( $n1, $n2 ) = @_;
print "$n1->[0]\n";
print "$n1->[1]\n";
print "$n1->[2]\n";
print "$n2";
}
@a = ( "aaa", "bbb", "ccc");
$i = 3;
&FuncA(\@a,3);
0652nobodyさん
2008/01/04(金) 17:41:36ID:???それがいちばん簡単じゃない?
■ このスレッドは過去ログ倉庫に格納されています