トップページ⇒php
1001コメント350KB

【Perl】初心者コーナー Part19

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/01/11 13:52ID:???
初めに→「perl」その物のスレです。

1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。

1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

あとは>>2-10にまかせた。
045543903/01/24 01:13ID:???
>>449,452
ありがとうございます。
今までネットで探していたら、
452さんも使われているchr関数を見つけましたので
一端ordで変換してchrで戻してみました。

449さんも使われているpackも見てたのですが、
ちょと私にはまだ難しかったみたいです(^^;
0456nobodyさん03/01/24 01:17ID:???
>>454
すみません
ローカルって何ですか?
0457nobodyさん03/01/24 01:19ID:???
>>453
453の:とるにたらない人さん:03/01/24 01:06ID: ???
Configuration Error
コンフィギュレーションエラー
The server encountered an error while processing your request.
あなたのリクエストを処理する間に、サーバーはエラーに遭遇しました。
Please contact the administrator of the referring document and inform them of the time the error occurred, and anything you might have done that may have caused the error.
どうか指名しているドキュメントのアドミニストレーターと連絡を取って、そして(彼・それ)らにエラーが起こった時とエラーを起こしたかもしれないあなたがしたかもしれない何でも知らせてください。
0458nobodyさん03/01/24 01:24ID:???
>>457
よくわからいので初心者でもわかるように説明してもらえないでしょうか?
お手数かけます
0459nobodyさん03/01/24 01:34ID:???
>456
あんたのパソコン。
サーバー上でCGIのテストするな。
後は検索して調べな。
説明ページは探せばいくらでもある。

それ読んで分からないようなら、CGIの改造とか色々考えるな。
改造せずにそのまま設置しようとしてそのエラーなら、配布元の指示に従ってちゃんと行動してないって事。
とにかく書いてある文字を読め。
0460nobodyさん03/01/24 06:22ID:???
>>456
自分のパソコンにPerlをインストールして、それで走らせて
デバッグする。WinでもMacでもあるよ。
0461nobodyさん03/01/24 09:10ID:???
これって2ch掲示板のことじゃ・・・・
0462nobodyさん03/01/24 14:56ID:Mw0EqohX
>>461
read.cgiはcじゃなかったっけ
0463nobodyさん03/01/24 15:21ID:8KdGKoGc
★http://jsweb.muvc.net/index.html★
 ★こんなサイト見つけました★
0464nobodyさん03/01/24 15:49ID:???
検索フォームから、例えば何らかのperl関数を入力された場合、
CGIが暴走するということはありえるでしょうか?
0465nobodyさん03/01/24 15:55ID:???
>>464
evalなんてバカな関数使ってるならそれなりにありえる。
0466nobodyさん03/01/24 16:04ID:???
>>465
ありがとうございます。安心しました。
0467free se03/01/24 16:04ID:???
まああれだ、好きな音楽を聴きながら仕事している方が効率いいな。
おまえらはどうだ?
0468nobodyさん03/01/24 16:15ID:???
>>467
音楽聴いてるとソース書けない
0469nobodyさん03/01/24 16:20ID:???
>>467
無音に限る
0470nobodyさん03/01/24 17:18ID:???
>>467
集中したい時は耳栓するぞ。
そうすると呼吸の音が気になってくるんだなこれが。
0471nobodyさん03/01/24 17:20ID:???
息止めろ。
0472nobodyさん03/01/24 17:25ID:???
>467
簡単な物は音楽が鳴っていた方がいい。
複雑な物になると鳴ってない方がいい。
047346703/01/24 17:33ID:???
{解決]
よく考えると俺も472さんと一緒だな。
無音は気持ち悪くて、流石に嫌だけど。
0474nobodyさん03/01/24 17:43ID:i/64hvW7
wwwmailを使ってメール送信フォームを作ったのですが
このように表示されます。

下記のメールを送信しました。ありがとうございました。


--------------------------------------------------------------------------------
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
To: aaa@aaa
From: aaa@aaa
Subject:wwwmailからのメール

氏名 =
住所 =

といった感じなのですが
「下記のメールを〜」の下にそのまま「氏名=」と来たほうが
送信した側もわかりやすいように思うのですが
「Content-Type:〜Subject:wwwmailからのメール」までを
消す(送信者に見えなくする)方法はありますか?
よろしくお願いします。
0475nobodyさん03/01/24 17:53ID:???
ソース見せて (*´д`)ハァハァ
0476nobodyさん03/01/24 17:56ID:???
>>474
これあぶねーな まだこういうの作ってる人いるんだ。
こえー。大丈夫?責任とれるのかな
0477nobodyさん03/01/24 17:57ID:???
>>474
print のところをはずせばいいだけだとおもうが。
でもあぶねぇなぁ。こんなの本当に設置すんの?
047847403/01/24 18:12ID:i/64hvW7
皆さんレスありがとうございます
すみません、どんな風に危ないんでしょうか?
非常に不安になってきたのでよければ詳しく教えてくれませんか??
0479nobodyさん03/01/24 18:22ID:???
誰でも何処でも何通でも送れるから。
0480nobodyさん03/01/24 18:23ID:???
>>476>>477

危ないって何が?
Toを使用者が指定できるとか?
0481nobodyさん03/01/24 18:24ID:???
ソース見せて (*´д`)ハァハァ
0482nobodyさん03/01/24 18:25ID:???
>>474
設置した場所にBASIC認証かけておいてね。
0483nobodyさん03/01/24 18:27ID:???
>>482
Toを固定するだけでいいと思うけど
0484nobodyさん03/01/24 19:34ID:???
危ないかどうかはソース次第だとおもうけど。
ただ、Toを自分のメアドにしておいてもメールボムとか怖い。
048547403/01/24 19:43ID:i/64hvW7
すみません初心者なのでソースを出して良いのかどうかの
判断がつきません。wwwmailは「とほほ」にある
メール送信フォームを設置するためのソフトです。
危険でしょうか?
0486nobodyさん03/01/24 20:01ID:???
とほほは危険
0487nobodyさん03/01/24 20:05ID:???
>>485
個人情報(自分のメアドとか)、パスワードとかが入ってるなら、それだけ消してソース出してみ。
ソース見せたくらいじゃどうってことないよ。
0488nobodyさん03/01/24 20:13ID:QLwP0ckk
xreaに12chのスクリプトを置いたのですがどうも書き込み後、index2.htmlに戻るときエラーが発生してしまいます。
たしか、XREA用に何かいじらなければならなかったような気がするのですが思い出せません。

どなたかご存知の方、ご教授願います。
0489nobodyさん03/01/24 20:18ID:???
>>488
xrea.com part28
http://pc.2ch.net/test/read.cgi/perl/1042433690/

こちらへどうぞ。
049048803/01/24 20:20ID:???
>>489
板違いすんません・・・。では。
049147403/01/24 20:27ID:i/64hvW7
ソースです。

#!/usr/local/bin/perl
#=====================================================================
# カスタマイズ
#=====================================================================
# ★ perlのパス名
# このファイルの先頭の1行を、あなたが利用するサーバーにインストー
# ルされた perl コマンドのパス名に応じて変更してください。例えば、
# 私が加入している BIGLOBE では、#!/usr/local/bin/perl となります。
# 解らない場合は、プロバイダやサーバの管理者にお問い合わせください。
# 「#!」の前には、空文字や空行や他の文字がはいらないようにしてください。

# ★ 送信先メールアドレス
# $mailto = '[email protected]'; のようにあなたのメールアドレスに
# 書き換えてください。
$mailto = '';

# ★ サブジェクト(件名)
# 送信されるメールのサブジェクトを指定してください。
$subject = 'WwwMailからのメール';

# ★ メール送信コマンド
# WebサーバーがUNIXの場合はsendmailコマンド、Windows系の場合はBLATJ.EXE
# コマンドのパス名を指定($mailcmd = 'C:\BLATJ\BLATJ.EXE'; など)してく
# ださい。このコマンドが存在しない場合は、WwwMail は動作しません。また、
# 存在していても、メール送信の設定が行われていない場合があります。詳細
# はプロバイダやサーバーの管理者にお問い合わせください。
$mailcmd = '/usr/lib/sendmail';

049247403/01/24 20:28ID:i/64hvW7
# ★ 送信結果メッセージ(ヘッダ)
# <<END_OF_DATA 〜 END_OF_DATA の間を好みにあわせて変更してください。
$header = <<END_OF_DATA;
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<title>メール送信結果</title>
</head>
<body>
<h1>メール送信結果</h1>
<hr>
<p>下記のメールを送信しました。ありがとうございました。</p>
<hr>
END_OF_DATA

# ★ 送信結果メッセージ(フッタ)
# <<END_OF_DATA 〜 END_OF_DATA の間を好みにあわせて変更してください。
$footer = <<END_OF_DATA;
<hr>
<a href="../index.htm">[戻る]</a>
</body>
</html>
END_OF_DATA

049347403/01/24 20:29ID:i/64hvW7
#====================================================================
# 自己診断機能。
#====================================================================
# メール送信がうまく動作しない時に、
# http://〜/〜/wwwmail.cgi?test の形式で呼び出してください。
if ($ENV{'REQUEST_METHOD'} eq "GET") {
print "Content-type: text/html; charset=Shift_JIS\n";
print "\n";
print "<html>\n";
print "<head>\n";
print "<title>WwwMail自己診断</title>\n";
print "</head>\n";
print "<body>\n";
print "<p>CGIは正常に動作しています。</p>\n";
unless (-f $mailcmd) {
print "<p>$mailcmd がありません。</p>\n";
}
unless (-x $mailcmd) {
print "<p>$mailcmd が実行可能ではありません。</p>\n";
}
unless (-f "jcode.pl") {
print "<p>jcode.pl がありません。</p>\n";
}
unless (-f "mimew.pl") {
print "<p>mimew.pl がありません。</p>\n";
}
print "</body>\n";
print "</html>\n";
exit 0;
}

0494nobodyさん03/01/24 20:30ID:i/64hvW7
#====================================================================
# 本体
#====================================================================

#
# ライブラリの呼び出し
#
require "jcode.pl";
require "mimew.pl";

#
# 入力値を読み取る
#
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'});
@a = split(/&/, $query_string);
foreach $x (@a) {
($name, $value) = split(/=/, $x);
$name =~ tr/+/ /;
$name =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
&jcode'convert(*name, "jis");
$value =~ tr/+/ /;
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
$value =~ s/[\r\n]+/\n/g;
&jcode'convert(*value, "jis");
if ($FORM{$name} eq "") {
$FORM{$name} = $value;
$FORM[$cnt++] = $name;
0495nobodyさん03/01/24 20:31ID:i/64hvW7
} else {
$FORM{$name} .= (" " . $value);
}}}

#
# EMAILが正常なメールあどれすかどうか判断する
#
if ($FORM{'EMAIL'} =~ /^[-_\.a-zA-Z0-9]+\@[-_\.a-zA-Z0-9]+$/) {
$mailfrom = $FORM{'EMAIL'};
}

#
# メールヘッダを作成する
#
{
&jcode'convert(*subject, "jis");
$mailhead = "";
$mailhead .= "Content-Type: text/plain; charset=\"iso-2022-jp\"\n";
$mailhead .= "Content-Transfer-Encoding: 7bit\n";
$mailhead .= "MIME-Version: 1.0\n";
$mailhead .= "To: $mailto\n";
if ($mailfrom) {
$mailhead .= "From: $FORM{'EMAIL'}\n";
$mailhead .= "Cc: $FORM{'EMAIL'}\n";
} else {
$mailhead .= "From: $mailto\n";
}
$mailhead .= "Subject: $subject\n";
$mailhead .= "\n";}
0496nobodyさん03/01/24 20:33ID:i/64hvW7
#
# メールボディを作成する
#
{
for ($i = 0; $i < $cnt; $i++) {
$mailbody .= "$FORM[$i] = $FORM{$FORM[$i]}\n";
}

# "." のみの行は ". " に変換する。
# 2回繰り返さないと、2行連続で "." のみの行に対応できない
# "." を ".." に変換する処理が一般的だそうだが、あえて、
# "." を ". " に変換する。
$mailbody =~ s/(^|\n)\.(\n|$)/$1. $2/g;
$mailbody =~ s/(^|\n)\.(\n|$)/$1. $2/g;}
#
# メールを送信する
#
if ($mailcmd =~ /sendmail/) {
unless (open(OUT, "| $mailcmd -t")) {
&errexit("メールの送信に失敗しました。(1)");}
unless (print OUT &mimeencode($mailhead)) {
&errexit("メールの送信に失敗しました。(2)");}
unless (print OUT $mailbody) {
&errexit("メールの送信に失敗しました。(3)");}
close(OUT);
} elsif ($mailcmd =~ /BLAT/i) {
&jcode'convert(*subject, "sjis");
$cmd = "$mailcmd";
$cmd .= " -";
$cmd .= " -t $mailto";
$cmd .= " -s \"$subject\"";
if ($mailfrom) {
0497nobodyさん03/01/24 20:35ID:i/64hvW7
$cmd .= " -c $mailfrom";
$cmd .= " -f $mailfrom";}
unless (open(OUT, "| $cmd > NUL:")) {
&errexit("メールの送信に失敗しました。(4)");}
&jcode'convert(*mailbody, "sjis");
unless (print OUT $mailbody) {&errexit("メールの送信に失敗しました。(5)");}
&jcode'convert(*mailbody, "jis");close(OUT);} else {&errexit("メール送信コマンド $mailcmd が存在しません。");}


0498nobodyさん03/01/24 20:36ID:i/64hvW7
#
# ブラウザ画面に送信結果を書き出す
#
{&jcode'convert(*header, "sjis");
&jcode'convert(*footer, "sjis");
$mail = $mailhead . $mailbody;
&jcode'convert(*mail, "euc");
$mail =~ s/&/&/g;
$mail =~ s/"/"/g;
$mail =~ s/</</g;
$mail =~ s/>/>/g;
$mail =~ s/\n/<BR>/g;
&jcode'convert(*mail, "sjis");print "Content-type: text/html\n";
print "\n";
print "$header\n";
print "$mail\n";
print "$footer\n";
}

#
# エラーメッセージを出力して終了
#
0499nobodyさん03/01/24 20:36ID:i/64hvW7
sub errexit {
local($err) = @_;
local($msg);
$msg = "Content-type: text/html\n";
$msg .= "\n";
$msg .= "<html>\n";
$msg .= "<head>\n";
$msg .= "<meta http-equiv=\"Content-type\" content=\"text/html; charset=Shift_JIS\">\n";
$msg .= "<title>メール送信結果</title>\n";
$msg .= "</head>\n";
$msg .= "<body>\n";
$msg .= "<h1>メール送信結果</h1>\n";
$msg .= "<hr>\n";
$msg .= "<p>$err</p>\n";
$msg .= "<p>ブラウザの [戻る] ボタンで戻ってください。</p>\n";
$msg .= "<hr>\n";
$msg .= "</body>\n";
$msg .= "</html>\n";
&jcode'convert(*msg, "sjis");
print $msg;exit(0);}
長くて申し訳ないです。どうでしょうか?
0500nobodyさん03/01/24 20:37ID:???
全部キタ━━━━━━(゚∀゚)━━━━━━ !!!???
0501nobodyさん03/01/24 20:42ID:???
>>499
そこまでやるなら別ファイルにした方がWYSIWYGなエディタで編集出来るし便利だと思うんだが。
0502nobodyさん03/01/24 20:56ID:???
ちゃんと読んでないが、メールの本文に目障りな文が入るってことじゃなくて、
ブラウザに表示される画面をどうにかしたいってことか?
050347403/01/24 21:12ID:i/64hvW7
>>502
そうなんです。
送信しましたの画面で(この下は474のコピペです)


下記のメールを送信しました。ありがとうございました。


--------------------------------------------------------------------------------
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
To: aaa@aaa
From: aaa@aaa
Subject:wwwmailからのメール

氏名 =
住所 =

といった感じなのですが
「下記のメールを〜」の下にそのまま「氏名=」と来たほうが
送信した側もわかりやすいように思うのですが
「Content-Type:〜Subject:wwwmailからのメール」までを
消す(送信者に見えなくする)方法はありますか?
よろしくお願いします。
0504 03/01/24 21:14ID:???
すいません。教えて下さい。
MySQLは3.23.52、PHPは4.2.3PHPです。
はっきり言って初心者なんですが、実用化を目指して勉強がてらデータベースを作ろうとしてスクリプト書いてました。
メモ帳使っての手書きスクリプトですが、アップロードしてみたらソコソコいけそうな感じでした。
ですが、あげたスクリプトを色々いじっているうちに変になってしまい収拾がつかなくなってしまったので全てのテーブル名を確認して
それらを全て削除したいのですが、やり方が分かりません。
色んなホームページを回ってみると出ているのですが、その殆どが個人のPC上で行う方法が多いので、はたしてそのスクリプトが正しいのか分かりません。
実際実験してみてもうまくいかないので、多分ちょっとばっかり違うのでしょう。
TELNET接続も経験がないのと第一に使えないので、そのやり方も採れません。
テーブルを全て見るためのスクリプトと削除のためのスクリプトを教えてもらえないでしょうか?
ちなみに私が色々見て回ってこうかなと思って書いたものは…
<?
$hostname="localhost"; $port="3306"; $database="abcdefg";
$username="abcdefg"; $password="hogehoge";
$conn = mysql_connect($hostname,$database,$password);
mysql($database,"SHOW TABLE");
?>
…で最後の行を色々見たものをコピペって試しています。

0505nobodyさん03/01/24 21:44ID:???
>>503
# ブラウザ画面に送信結果を書き出す
って行があるだろ。その下あたりを修正すりゃいい。つかPerl勉強してこい。

>>504
SHOW TABLESと DROP TABLEを繰り返しするのじゃダメ?
うまくいかないって言われても…
050650403/01/24 22:05ID:+KMlj8qB
繰り返しても何でも構わないんですが
上に書いたので繋がらないので分からないんですよ。
mysql($database,"CREATE TABLE $table( no int not null AUTO_INCREMENT,
hoge varchar(100),PRIMARY KEY(no))");
でちゃんとテーブル作れるんですがね。
0507nobodyさん03/01/24 23:06ID:???
>>498

$mail = "$mailhead $mailbody"
から"$mailheadを抜く。
0508nobodyさん03/01/24 23:36ID:???
>>495
>$mailhead .= "Cc: $FORM{'EMAIL'}\n";
最低限、この行は抜いてください。
0509nobodyさん03/01/24 23:43ID:???
>504
何度も繰り返しになるが、テストはローカルでやれ。
アップしてテストをするな。
0510504、50603/01/24 23:57ID:???
>509
今となっては同感です。
だからこそ、サーバー上のを見つけて削除したいんです。
0511nobodyさん03/01/25 00:18ID:???
>510
だから、消し方もローカルでテストしてやりなさいって。
まずはローカルで同じ様なデータ作って消すやり方探せばいいでしょ。
ローカルなら、他人への迷惑をあまり考えずに色々と手探りで試せるんだから。
それはやってるのか?
0512nobodyさん03/01/25 00:20ID:???
>>511
あんまり流行ってないよ。
0513nobodyさん03/01/25 00:28ID:???
( ゚д゚)・・・・
0514504、506、50903/01/25 00:33ID:???
諸々の事情でPCでそれを行う事ができません。
サーバー上でしかできないので、サーバーにアップしてやるしかないのです。
0515nobodyさん03/01/25 00:50ID:???
勝手な言い草だな(藁
一生、悩んでなさいってこった。以後放置願います>all
0516nobodyさん03/01/25 00:52ID:???
ここPerlスレなんですが。

PHP + MySQL
http://pc.2ch.net/test/read.cgi/php/983250751/
【PHP】質問スレッド Part6
http://pc.2ch.net/test/read.cgi/php/1038988518/
mysql ヘルプ!
http://pc.2ch.net/test/read.cgi/php/1011683282/
0517 03/01/25 00:54ID:???
>516
確かに!(^o^)
0518ビビオパーラー03/01/25 01:10ID:???
>>504
PHPはようしらんが、、
http://search.net-newbie.com/php/ref.mysql.html
ここみたか?
で〜
>$hostname="localhost"; $port="3306"; $database="abcdefg";
>$username="abcdefg"; $password="hogehoge";

>$conn = mysql_connect($hostname,$database,$password);
↓
$conn = mysql_connect($hostname,$username,$password);
mysql_select_db($database)

>mysql($database,"SHOW TABLE");
↓
$result = mysql_query("SHOW TABLES");
while($row=mysql_fetch_row($result)) {
mysql_query("DROP TABLE $row[0]");
}
でダメかな?
ていうかPHPスレで聞け!perlなら
use DBI;
$dsn="DBI:mysqlPP:abcdefg:localhost";
$dbh=DBI->connect($dsn,'abcdefg','hoge');
$sth=$dbh->prepare('SHOW TABLES');
$sth->execute;
while(@row=$sth->fetchrow_array) {
$dbh->do("DROP TABLE $row[0]");
}
かな?
051947403/01/25 01:48ID:YsIz1kts
皆さん色々勉強させてもらい助かりました。
>>508
助言を見まして検索したところ
&jcode'convert(*subject, "jis");
$mailhead = "To: $mailto\n";
# if ($FORM{'EMAIL'} ne "(unknown)") {       
# $mailhead .= "Cc: $FORM{'EMAIL'}\n";   
# }   

こうすれば問題ないですか?
なんとなくまずいのはわかるのですが
良ければ詳しく教えていただけますか?
                      
0520nobodyさん03/01/25 02:05ID:???
>>519
どこにメールが行くかを考える。
存在しないメールアドレスの場合も調べてね。
0521nobodyさん03/01/25 13:31ID:???

Webデータの取得にLWP::Simpleのget()を使いたいのですけど、
このモジュールはcgiを許可しているフリーのhosting service
には入れてないことの方が多いのでしょうか? あるいは有料の
hosting serviceであれば入ってるでしょうか?
0522nobodyさん03/01/25 15:42ID:???
>>521
何が楽しうてそんなもん入れんといかんのだ。
0523nobodyさん03/01/25 17:23ID:???
>>521
有料のトコなら管理者に頼めば入れてくれるかもしれないけど、
必要なモジュールは基本的には自分でインストールするもの
と考えたほうがいいよ。
http://search.cpan.org/author/GAAS/libwww-perl-5.69/
0524nobodyさん03/01/25 17:56ID:???
>>523
LWPって通信用でしょ?
入れても使えないところが多いと思う。
0525nobodyさん03/01/25 18:29ID:???
個人で入れても使えないようにってどうやってるのかな。
ダミーのモジュールを入れておいて優先順位?
0526nobodyさん03/01/25 18:39ID:???
>>525
単に外へのアクセスを遮断すれば良し。
0527初心者です。03/01/25 18:44ID:WHb7ynpf

CGI.pmを使用してて
perlに -w でCGIを実行すると
$data = param("form_name");
でフォームからデータを受け取って
このデータを下記のように条件式にかけると
if ( $data eq "hoge" ) {
}
ってやると
Use of uninitialized value in string eq at ./test.cgi line 8

ってWARNINGでるんですけど
このWARNINGださないようにするためにはみなさんどうしてます?
0528nobodyさん03/01/25 18:48ID:???
>>527
#! /usr/local/bin/perl

そもそも自分で書くので関係ないという意見もある。
0529nobodyさん03/01/25 19:05ID:J+PAIJA/
>>528
違う。比較演算子は未定義値に使ってはいけない。

file?form_name=
で呼ばれたら、$dataは'' (空文字列?)だけど、
file?hoge=fuga
で呼ばれたら、$dataはundefになる。

つまり、こう書いておけばいい。
$data = '' unless defined $data;
0530nobodyさん03/01/25 19:18ID:???
definedが分かったら、existも知るといいかも。。

おまけ:
undef, '', 0 はifに入れてみるとはみんなFALSEになるんだけど、
違うものだと思え。

よくある間違いで、

if (! $name) { error('名前を入れてちょ'); }

これは、$nameを0にできない。こう書くべきだね。
if ($name eq '') { ... }
0531nobodyさん03/01/25 19:19ID:???
>>530
ぱいじゃさん。しつこいです。
0532nobodyさん03/01/25 19:19ID:???
変な文字が・・修正

入れてみると、みんなFALSEになる
0533初心者です。03/01/25 19:27ID:???
>>529-530
ありがとぅ。
0534nobodyさん03/01/25 20:04ID:???
$data = param("form_name") || '';

普通こうします。。
0535nobodyさん03/01/25 20:23ID:???
>>534
>>530は見た?それだと0が入らない
0536nobodyさん03/01/25 20:30ID:TLIt72nG
サブルーチン内で、

return(next);

ってできますか?
0537nobodyさん03/01/25 20:36ID:???
>>536
できるかどうかは試せば分かる
0538nobodyさん03/01/25 20:51ID:???
質問するとしたら、なんで〜な動作をするのですか?困っているのですが。

みたいな感じになるはずだ。
0539nobodyさん03/01/25 21:05ID:TLIt72nG
できました。
0540 52103/01/26 04:49ID:???
例えばgoogleにアクセスして、検索結果を取得して処理するみたいな
ことをしたいのですけど、LWP::Simpleモジュールを使わなくても
可能でしょうか?
0541nobodyさん03/01/26 06:05ID:???
>>540
そもそも外部と通信できなければ無理だってば。
0542nobodyさん03/01/26 10:04ID:???
えっと、私はCGIでゲームを作っているんですが・・・
ログインができないんです。

if ($USER_DATA[0] eq $PW) {
ログイン完了
}
else {
パスワードちがう
}

とこのようにしているんですが、パスワードが合っていても違うという画面が出てしまいます。
出力して調べてみましたが
もちろん、$USER_DATA[0]と$PWの値は一緒でした(調べたときは両方に'a'という文字列をいれた)。

・・・どうすれば、きちんとした分岐結果が出るでしょうか?
ifの使い方が間違っているんでしょうか
0543 03/01/26 10:42ID:???
$USER_DATA[0] eq "$PW"
$PWを""で囲むとか?
0544nobodyさん03/01/26 10:44ID:???
>>542
if文の使い方は合ってるけど……本当に中身は 'a' だけ?
空白とか改行文字が付いてるってことはない?
0545nobodyさん03/01/26 10:53ID:???
>>542
大文字小文字。どちらかに改行コードが残っていないか。など確認。
0546nobodyさん03/01/26 11:44ID:P6Egn5Az
とあるチャットで外部フォームでの発言が流行っているのですが、
文字に改装を加えて投稿するにはどうすれば良いのでしょうか。
タグは使用不可で、スクリプトはCOMCHATです。


もし板違いだったらすいません。
0547nobodyさん03/01/26 12:11ID:???
>>546
スクリプト側で対処しているなら無理でしょう。
0548nobodyさん03/01/26 12:18ID:P6Egn5Az
>>547
他の常連さんが成功してるみたいなので。。
0549nobodyさん03/01/26 12:20ID:???
>>548
常連さんに聞くのはどうでしょう?
0550nobodyさん03/01/26 12:30ID:P6Egn5Az
>>549
あまり喋らないので、気まずい...
0551nobodyさん03/01/26 12:47ID:zx28i3UH
アクセスアップキャンペーン中
http://ginrai.hp.infoseek.co.jp/
0552nobodyさん03/01/26 12:58ID:10NDG8/s
>>543
なんでもかんでもダブルクオートで囲むのはよろしくない。
それに、今はそれは全然関係ない。

>>542
自分が問題だと思っている部分だけじゃなくて、全体を出してみろ。
0553nobodyさん03/01/26 16:22ID:???
cronって何?どうやって設定するんですか?
0554nobodyさん03/01/26 17:09ID:???
>>553
時間を決めて実行するための仕組み。
専用レンタルサーバとかじゃないと使えないから気にしなくていい。
スレ的には、「ある時間にCGIを実行したいんだけど」な気がするから、
「CGIが読み込まれたときに時間をチェックして実行するかどうか決めろ」
■ このスレッドは過去ログ倉庫に格納されています