Perlコーディング初心者質問スレ Part 57
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/02/25(月) 19:25:51ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
お勧めサイトは >2 以降
前スレ http://pc11.2ch.net/test/read.cgi/php/1189939783/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
0362nobodyさん
2008/04/20(日) 02:30:50ID:???> my $encoded_descript = encode($item->{channel}->{description});
> の後に
> my $encoded_descript =~ s/<.*?>//g;
> を追加
って書いてるんだから
my $str = "<strong>大切な</strong>文書";
my $str =~ s/(.)/$1/g; # 行頭の何かが余計
print length($str);
こういうことじゃないの。
0363nobodyさん
2008/04/20(日) 16:44:58ID:???$text =<<EOL;
name = $h->{'name'}
mail = $h->{'mail'}
EOL
とやっても変数が展開されません。
仕方ないのでハッシュにデリファンスしてますが、
方法があったら教えてください。
0364nobodyさん
2008/04/20(日) 17:36:03ID:???0365nobodyさん
2008/04/20(日) 20:52:48ID:tHisgd6UOUTをカウントするためなんすけど、アンカーから自前のCGIページを通過させてリンク先を表示させるにはどうすればいいですか?
0366nobodyさん
2008/04/21(月) 00:00:18ID:???0367nobodyさん
2008/04/21(月) 18:56:21ID:???my $h = {name=>'john', mail=>'[email protected]'};
my $text =<<EOL;
name = $h->{'name'}
mail = $h->{'mail'}
EOL
print $text;
こんな感じ。
0368358
2008/04/23(水) 09:11:49ID:???ありがとうございます。
remove_html、使いたいのですが使い方がわかりません...
# http://naoya.dyndns.org/~naoya/mt/archives/000611.html
sub remove_html {
my ($str) = @_;
my $ret;
if (defined $str) {
my $p = HTML::TokeParser->new( \$str ) or die "$!";
do {
my $plain = $p->get_text;
$ret .= $plain;
} while (my $token = $p->get_tag);
}
$ret;
}
を lib/RNA/AntennaTree.pm の最下部に追記して、
my $encoded_descript = encode($item->{channel}->{description});
の後に見よう見まねで
my $encodec_descript = &remove_html();
としてみましたが変わらずでした。
0369nobodyさん
2008/04/23(水) 12:47:07ID:???どこで手に入れる事ができるでしょうか?
0371↑
2008/04/23(水) 13:08:34ID:???0372nobodyさん
2008/04/24(木) 18:43:40ID:???という文字列から
ABCとDEFを削除してXXXのみを表示させたい場合はどうすればよいのでしょうか?
$moji = ABCXXXDEF;
$ans = $moji からABCとDEFを削除;
print "$ansです\n"
という具合でいいんでしょうか?
このABCとDEFを消す処理の部分がわかりません。
0373nobodyさん
2008/04/24(木) 18:47:46ID:???print $moji;
0376nobodyさん
2008/04/26(土) 13:15:07ID:flUVuiqJ区切りが/であったり\であったりとまちまちです。
perlはLinux上で動いているので、デフォルトでは、/で区切られている場合しか、ファイル名を取り出せません。
\で区切られている場合でも、取り出せるようにするにはどのようにしたらよいのでしょうか?
fileparse_set_fstypeでMSWin32を指定してしまうと今度は、Unixからアクセスしてきた場合にうまくいきません。
0377nobodyさん
2008/04/26(土) 13:19:19ID:???こんなもん中学生でも分かるぞカス死ね
0378nobodyさん
2008/04/26(土) 16:13:45ID:flUVuiqJ0380nobodyさん
2008/04/26(土) 17:01:10ID:???Perlが動いているサーバーのOSが関係する。
そして、basenameは動いているOSによって区切りを/か\か自動的に
判断してくれるので便利に使える。
サーバーがWindowsでもLinuxでもbasenameは正しく動いてファイル名を取り出せる。
取り出せない場合は、何か別の原因。
0381nobodyさん
2008/04/26(土) 19:45:43ID:???0382nobodyさん
2008/04/26(土) 21:48:20ID:vQRq4Omz時間と日数おしえてもらえませんか?時間とか1日何時間くらいしてます?
0383nobodyさん
2008/04/26(土) 22:09:54ID:???0385nobodyさん
2008/04/26(土) 22:49:57ID:???皆さんは「週何日、1日当たり何時間」なんていう時間割みたいな方式で
取り組んできたわけじゃないので、そういうのはよくわかんないのです。
そりゃ、そんな方式で堅苦しく取り組んできた人もいるかもしれないけど。
あなたが今までにちんちんを何ストロークしてきたかが不明なのと似てます。
0386nobodyさん
2008/04/27(日) 00:52:54ID:G3KB/HmGスラッシュをURLエンコードさせたくないのですが、可能でしょうか?どなたか助けてください・・
p://example.net/dir/index.cgi?name=<em>hoge</em>
このように、どうしてもタグが含まれてしまうURLなので困ってます。
見るからに初心者ですが、どうかよろしくお願いします。
0388386
2008/04/27(日) 02:55:07ID:G3KB/HmGそうですか・・
諦めて他に方法がないか試行錯誤してみます
ありがとうございました。
0390nobodyさん
2008/04/27(日) 23:35:33ID:???コード書いて1週間かかった気がする
そんな自分は C (すっかり書けないけど、ポインタで躓くまでは書いてた)、VB (アプリをいくつか作ってた) の経験ありです。
0391nobodyさん
2008/04/27(日) 23:39:03ID:???Webアプリ(cgi)は時間がかかると思う。
0392nobodyさん
2008/04/27(日) 23:44:48ID:???0393nobodyさん
2008/04/30(水) 17:01:56ID:9OxUbc+M0394nobodyさん
2008/04/30(水) 17:13:24ID:???rand(51)
0 〜 51 未満を生成 (未満は 51 を含まないので 50 以下の数字が現れる)
+100
下限値である 100 を加えてやる
以上
0395nobodyさん
2008/04/30(水) 17:14:49ID:???0396nobodyさん
2008/04/30(水) 17:19:40ID:???0398nobodyさん
2008/04/30(水) 18:11:00ID:???質問者の質問が悪いところまでフォローして手取り足取りするのが役目?
0399>>393
2008/04/30(水) 18:26:54ID:9OxUbc+M確かに>>398さんの言うとおりです。わざわざフォローして下さった親切なお二方に感謝します。
0400nobodyさん
2008/04/30(水) 18:38:47ID:???どうも下記例のforeachのループの中で、さらにwhileのループを
回せないのですが、たぶん簡単な理由だとは思うのですが、
お助け下さい。
他にもこのようなforeachのループの中で、foreachのループも回せないと
思います。
foreach $number(@number){
while (<F2>) {
print "$number\n";
if (/$number/)
{
print "マッチしました\n";
print F3;
}
}
}
0403nobodyさん
2008/04/30(水) 19:48:00ID:???0404nobodyさん
2008/04/30(水) 20:17:59ID:GavbPT5W2周目はファイルを読み込むループが発生しません
解決法は2つ
・While の直前でファイルを開くようにする
・While の直前で seek を使ってファイル位置を先頭に戻す
です。
負荷は後者の方が幾分か軽いです
0405nobodyさん
2008/04/30(水) 20:28:06ID:???場合によってはこれもありかなと思った。無駄にメモリ食うけど。
0406nobodyさん
2008/04/30(水) 20:47:41ID:???0407400
2008/04/30(水) 23:43:57ID:???1回目のforeachが終わったときに<F2>が空になる ってマジですか。
例のループにseekを追加して、動くようにしていただけませんか?
お願いします。
0409nobodyさん
2008/05/01(木) 12:48:54ID:???open(F2, "hoge.txt");
while (<F2>) {
foreach $number(@number){
〜
}
}
close(F2);
0410nobodyさん
2008/05/01(木) 13:18:21ID:???自分でやれ。
できないなら金払って業者つかえ。
代行するところじゃなく、自分で作るためのヒントを与えるところだ。
ここまでヒントがそろったらあとは調べながらできる。
0411nobodyさん
2008/05/01(木) 13:51:56ID:???ちゃんと意味がわかってから略すように汁
0412400
2008/05/01(木) 23:38:01ID:???>410 GW中くらい、自宅警備を止めてみたら?
>411 省略ハァ? 汁?
0413409,411
2008/05/01(木) 23:46:36ID:???0414nobodyさん
2008/05/02(金) 00:07:00ID:???ワロタ
0415nobodyさん
2008/05/02(金) 05:46:04ID:???「ものを学ぶ姿勢」ってやつを身に着けないと成長できないよね
0416nobodyさん
2008/05/02(金) 08:12:32ID:???これ10代だったら笑って流せるけど、20代以上で本気で言ってたら深刻ww
0417nobodyさん
2008/05/02(金) 10:22:44ID:???0418nobodyさん
2008/05/02(金) 10:32:20ID:???あと、これはおそらくは宿題だなw
0419nobodyさん
2008/05/02(金) 11:18:57ID:???とっくに質問者は消えてることに気づけよ禿げ
0422nobodyさん
2008/05/02(金) 13:12:28ID:???0423nobodyさん
2008/05/02(金) 13:34:20ID:???医者いったほうがええんちゃうかw
リアルでアレかw
0424nobodyさん
2008/05/02(金) 13:43:58ID:???0425nobodyさん
2008/05/02(金) 14:15:25ID:???0426nobodyさん
2008/05/02(金) 14:47:41ID:???0427nobodyさん
2008/05/02(金) 15:08:52ID:???0428nobodyさん
2008/05/02(金) 18:44:35ID:???0429nobodyさん
2008/05/02(金) 23:07:56ID:???思い込み激しいとか言われへん?
回りに迷惑かけても気づかないタイプだな
回答もしないのに罵倒するのはお前だけやろ
頭変すぎてわからんかw
0432nobodyさん
2008/05/02(金) 23:59:11ID:???0433nobodyさん
2008/05/03(土) 02:50:47ID:???0434nobodyさん
2008/05/03(土) 03:07:39ID:???0435nobodyさん
2008/05/03(土) 10:04:09ID:???0436nobodyさん
2008/05/03(土) 18:44:15ID:???0437nobodyさん
2008/05/03(土) 19:02:10ID:???0438フー子
2008/05/04(日) 19:36:48ID:798fbSDd何のためにあるの?どうやって使うの?
君かわいいね。
・・・ぶつ森のスレかとオモタorz...
ttp://search.cpan.org/~mrjc/cvswebedit-v2.0b1/cvs-web/lib/CGI/Base.pm
ttp://search.cpan.org/~mrjc/cvswebedit-v2.0b1/cvs-web/lib/CGI/Request.pm
を眺めてみればよろしいかと。
例文を眺めればだいたい何がしたいのかが見えてくるかと。
英文は無理に読まなくてもよろしいかと。
0441nobodyさん
2008/05/04(日) 20:22:15ID:???0442nobodyさん
2008/05/05(月) 14:08:42ID:GD7pTJpy以下のように記述すると、管理人である自分には登録メールが送られますが、
管理人以外に、書き込みした人にも登録確認メールが送られるようにしたいんです。
#Sendmailによる送信処理
if (open(MAIL,"| $sendmail -t")){
print MAIL "X-Mailer:legend2\n";
print MAIL "To: $administrator\n";
print MAIL "Errors-To: $administrator\n";
print MAIL "From: $administrator\n";
print MAIL "Subject: $subject\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "$mail_comment\n";
print MAIL "\n";
close(MAIL);
}
}
以下のどれかを使うのでしょうか?
print SENDMAIL "From: $sender <$from>\n";
print SENDMAIL "To: $to\n";
print SENDMAIL "Cc: $cc\n";
print SENDMAIL "Bcc: $bcc\n";
どうすれば良いか御教授下さい。宜しくお願いします。
0443nobodyさん
2008/05/05(月) 14:20:17ID:???# CGIは板違いだが、この処理自体はCGIと関係がないので。
if文のブロックを、Toヘッダだけ「書き込みした人」のアドレスにしてもう一度処理するか、
Toを「書き込みした人」のアドレス、CcまたはBccを「管理人」のアドレスにするか。
Errors-Toヘッダはobsoluteだった気がします。
envelopeアドレスを指定するべし。sendmailに-fオプションに続けてアドレスを指定する。
ttp://sonic64.com/2004-11-07.html
0444nobodyさん
2008/05/05(月) 16:36:56ID:???書かれた古文書を元にCGI作るな。めーわくだ。
0445nobodyさん
2008/05/05(月) 18:19:44ID:???例文または参考 URL ぐらい提示すればいいじゃない
0446nobodyさん
2008/05/05(月) 19:20:18ID:???0448nobodyさん
2008/05/05(月) 21:17:57ID:???0449BEET
2008/05/05(月) 21:36:20ID:???0452nobodyさん
2008/05/05(月) 22:16:06ID:???0453nobodyさん
2008/05/05(月) 22:44:54ID:???0454nobodyさん
2008/05/05(月) 23:21:45ID:V/xhfGfA0455BEET
2008/05/06(火) 00:42:09ID:???0456BEET
2008/05/06(火) 00:45:09ID:???このレンタル掲示板の管理パスをクラックされて、改竄されたんだけど、どうやってクラックしてるのかな?
0457nobodyさん
2008/05/06(火) 00:49:33ID:fJq/GBDg0459nobodyさん
2008/05/06(火) 00:51:09ID:fJq/GBDg0460nobodyさん
2008/05/06(火) 09:09:26ID:???cpan > install XML::ATOM::Feed
したのに、それを500エラーになってしまいます
(useしてるところをコメントアウトすると通る)
moduschで見たら「存在しないか、ロード出来ない」っぽい
なぜでしょうか…?
0461nobodyさん
2008/05/06(火) 16:59:23ID:???BCCで目的は達成できると思うけど、
自分のメールアドレスを、スパムを送りたい先などにされると
簡単にスパムの踏み台になるから気をつけてね。
■ このスレッドは過去ログ倉庫に格納されています