【Perl上級者コーナーPart01】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/06/22 19:21ID:V3u7Ppd00381nobodyさん
04/01/16 01:58ID:???## ■以下サブルーチン■
######################################################
0382nobodyさん
04/01/16 02:00ID:???## ■以下サブルーチン■
##====================================================##
0383ヽ(´ー`)ノ
04/01/16 11:53ID:???POD 使えば?
コメント使った書き方って、見にくいし、他の人のコードと統一性が取れない。
整形するの面倒だし、マニュアルも別に書かないといかん。
じゃあメリットがあるかっていうと特別あるわけじゃない。デメリットだけ。
まともなエディタを使えば、POD のところだけ色も変わるから見栄えを気にする必要もない。
あと俺の主観だけども、出来の悪い CGI のコード見てるようで、醜い(シャレじゃなく)。
すでにあるモノを再発明することないよ。更に良いものが作れるのなら話は別だけど。
0384nobodyさん
04/01/16 17:05ID:???そりゃPODにこしたことはない罠。
ちょっとしたコメントにセンスを光らせたい罠
別に誰が見るわけでもないんだけどさ。
0385nobodyさん
04/01/16 19:51ID:???罫線くらいにしておいた方がいいんじゃない?
0386nobodyさん
04/01/17 20:40ID:???0387nobodyさん
04/01/17 22:55ID:???# こめんと
#
シンプルな方がよし。かも?
0389nobodyさん
04/01/18 15:50ID:???#**************************#
#. 大見出 ****#
#**************************#
#--------------------------#
#..中見出 ----#
#--------------------------#
#--------------------------#
#... 小見出
# その他
のように、階層に応じて分けるのがいい。ちなみに、「#.」、
「#..」、「#...」の部分は、テキストエディタに「アウトライン」
機能があれば、その見出し行の識別文字列に設定するとよい。
0390nobodyさん
04/01/20 01:24ID:???ソフトバンクより発売のCGI/Perlハンドブックという本で
http://up.atnifty.com/upload/file/20040120011644_.txt
こういったアンケート収集スクリプトがあるのですが
これを実行してもアンケートが追加されません。
どこが間違ってるのでしょうか?
0395nobodyさん
04/02/07 10:43ID:???0396nobodyさん
04/03/13 22:04ID:???0397nobodyさん
04/04/03 08:00ID:???0398nobodyさん
04/05/09 21:27ID:???0399ぺー
04/05/11 08:07ID:wDvsqpzOhttp://ouroboros.game-host.org/index.html
0400nobodyさん
04/05/12 16:29ID:???小言で400get.
0401nobodyさん
04/06/08 12:32ID:svJNgPf4gnupg等のコマンドを使って暗号化したものを、
sendmailで送るイメージでいるんですが、
この辺をやってくれるモジュールとかってあるんですかね?
0403388
04/06/08 22:17ID:???どういたまして。
ちなみに今は
タブと■を組み合わせて見やすくしてる。
>>401
メールを受け取る人が一定なら、
その人のマシンで公開鍵と秘密鍵を作って、
その公開鍵を使ってサーバで暗号化する必要がある??
あんま詳しくないから興味あるかも。
0404nobodyさん
04/06/08 23:34ID:???ttp://search.cpan.org/
0405きのこる先生 ◆FmKame.i.E
04/06/10 07:13ID:???/_~ ,,...:::_::;; ~"'ヽ
(,, '"ヾヽ i|i //^''ヽ,,)
^ :'⌒i i⌒"
| (;゚Д゚) < 今まで様々な404を見てきたが
|(ノ |) お前が一番coolですね
| |
ヽ _ノ
U"U
0407nobodyさん
2005/11/14(月) 23:07:11ID:???=の前後に空白行がないとpodparserでXHTML化したときにうまく読んでくれないし。
どうよ?
0408nobodyさん
2005/12/06(火) 03:38:10ID:rOcNbm6R0409nobodyさん
2005/12/28(水) 12:54:03ID:RY3kh/X5ここのMulti Wing BBSをDLして設定してうpまで
終わったんですが、メインのwingmulti.cgiにアクセスして
設定したパスワードを入力しても、パスワードエラーと出ます。
何度設定しなおしてもパスワードエラーに引っかかるんですが
これって単なるバグでしょうか?
分かる方いたら、試してもらえませんか?
0412nobodyさん
2005/12/28(水) 14:52:10ID:???0413nobodyさん
2006/02/05(日) 07:47:15ID:VJ915kfQ0.5から::Schemaに移行とかなんとか。
0414nobodyさん
2006/10/08(日) 01:37:17ID:???$tripkey = "#istrip";
$tripkey = substr($tripkey,1,);
$salt = substr($tripkey.'H.',1,2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$trip = crypt($tripkey,$salt);
$trip = substr($trip,-10);
$trip = '◆'.$trip;
print "$trip";
って書かれてるが
マルチバイト文字をcryptに入れるとエラーになるんだが。
0415414
2006/10/08(日) 23:31:27ID:LWtT3SlwPerl5.8.8だからなのか?
誰か教えてくれねーか?
0417414
2006/10/09(月) 00:08:25ID:b33Q2pbi0418414
2006/10/09(月) 00:09:17ID:b33Q2pbiSJISに変換して入れてみるか。
0419414 ◆SQ2Wyjdi7M
2006/10/09(月) 00:13:33ID:b33Q2pbi0420414 ◆SQ2Wyjdi7M
2006/10/09(月) 00:26:29ID:b33Q2pbiしなくてもいいだろうが、スレつかっておいて自己解決して放置っつースタイルが嫌いなので。
俺の場合。
出力をXHTMLに準拠させたいが、ファイルの先頭でXML宣言をするとIEで厄介なので、それを避けるために出力をUTF8にしたかった。
そんなときにPerl5.8は内部処理とかUTF8にしたぞ的なことを知ったので、use utf8;とかしてコードを書いていたわけだが、
UTF8のマルチバイト文字列をcrypt関数の引数として与えるとエラーが出るという問題にあった。
まぁ、crypt使う理由が2ch互換のトリップを生成することだったわけで、そのときにUTF8でcrypt使用としてた辺りがあほなんだが、
1日考えるのやめてカラオケとか逝ってたら、脳みそすっきりしてこのことに気づいたので解決した。
そんでUTF8→SJIS変換したら、すんなり成功した。
参考までにソース載せると
package パッケージ名;
use utf8;
use Encode;
return 1;
sub makeTrip{ # 引数 = \$tripkey(utf8)
my $tripkey = $_[0];
my $salt;
$$tripkey = encode('shiftjis', $$tripkey);
$salt = substr($$tripkey.'H.',1,2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$$tripkey = crypt($$tripkey,$salt);
$$tripkey = substr($$tripkey,-10);
return;
}
0423nobodyさん
2006/10/12(木) 14:25:18ID:???BEGIN {
$vo = '栄昇';
$g = '優';
$pf = '等';
}
コードに入れてない奴は今すぐ入れたほうが良いよ、平和になるし
0424nobodyさん
2006/10/12(木) 16:16:15ID:???0425nobodyさん
2006/10/14(土) 00:22:11ID:???Gimpって画像処理ソフト、CGIから操るのに成功した人っています?
ImageMagickを使ってみて、なかなか面白いんだけど、文字の加工は貧弱なので
Gimp試してみたものの、全然動かないのです。
0427nobodyさん
2006/10/14(土) 00:38:50ID:???0428nobodyさん
2006/11/14(火) 14:47:50ID:M1pI9RkNでは上級者的指摘を
use utf8環境下でsubstrで2文字取り出すというのがどういう意味なのか
分からないのがお前の敗因。
我々上級者はuse utf8はuse byte;は併せて覚えている。
つ〜かcryptの第2引数は初めの2バイト以外無視する仕様だから
わざわざsubstrしてる時点で中級者とも言えない。
って、全くテストもしないで亀レスだけしてみる。
0429nobodyさん
2006/11/15(水) 07:29:44ID:???0430nobodyさん
2007/01/24(水) 20:02:36ID:???簡単にお金稼ぎ!!!
以下の手順でやれば、無料でお金稼ぎができます。
企業も広告の宣伝になるから、お金をくれるわけです。
最初の1日目で 2000 円〜3000 円 は確実に稼げます。
実際の作業は数十分程度、1時間はかかりません。
(1) http://pointdream.jp/member_regist.aspx?LinkID=577583#.2ch.net/
↑このアドレスからサイトに行く。
(2)無料会員登録をする。
※フリーメールアドレスでもOK。
(3)ポイントを稼ぎます。
懸賞の応募や無料会員登録をすればするほど、
ポイントが貰えます。
(4) 友達を増やせば、後は何もしなくても
定期的に、友達還元ポイントがドッサリ入ってきます。
これで現金を稼ぐといいですよ!!!
登録(応募)はこちらから↓
http://pointdream.jp/member_regist.aspx?LinkID=577583#.2ch.net/
0431nobodyさん
2007/02/10(土) 20:43:16ID:???簡単にお金稼ぎ!!!
以下の手順でやれば、無料でお金稼ぎができます。
企業も広告の宣伝になるから、お金をくれるわけです。
最初の1日目で 2000 円〜3000 円 は確実に稼げます。
実際の作業は数十分程度、1時間はかかりません。
(1) http://blackjack.lxl.jp/#.2ch.net
↑このアドレスからサイトに行く。
(2) ゲットマネー登録サイトに移動するので、
そこで無料会員登録をする。
※フリーメールアドレスでもOK。
(3)ポイントを稼ぎます。
懸賞の応募や無料会員登録をすればするほど、
ポイントが貰えます。
他にも沢山種類があるので、1日目で
約 20000 ポイントは GET できます。
(4) 10000 ポイントから、現金に交換できます。
(5)キャッシュバックという所がありますので、
そこから交換をしましょう。
これで現金を稼ぐといいですよ!!!
無料会員登録はこちらから↓
http://blackjack.lxl.jp/#.2ch.net
0432nobodyさん
2007/03/26(月) 17:41:13ID:3MEiX5hyCPANで落とせるNet::SMTP_authってモジュールがあって、それはNet::SMTPのサブクラスになっていて
ソースの中ではauth()とauth_types()のオーバーライドしかしていない。
SMTP_authでメール送信するには587番ポート使う筈で、それはnew()したときの
最初のサーバへの通信で既に「587を使う」と指定しないといけないと思うのだけど
どこをどう探してもその記述が見つからない。
NET::Configの中かなぁと思ったのだけど、それも違うっぽい。
どうやって587ポートを指定させているか、誰かご存知の方いませんか?
SMTP_authモジュールを使いたくて色々調べていたらこの問題に行き着いて、どうにも納得できなくて気持ち悪いので
ヒントだけでも教えていただけると嬉しいです。
0433nobodyさん
2007/03/26(月) 22:13:50ID:sZyxWGW4Authen::SASLで何やってるかわかんないけど、ポート指定してるっぽいのはここだね。
my $conn = $sasl->client_new("smtp", $host);#, "noplaintext noanonymous");
0434nobodyさん
2007/03/26(月) 23:55:40ID:???> SMTP_authでメール送信するには587番ポート使う筈
これ間違い。
○ submission portを使用するときはSMTP AUTHが必要。
0435nobodyさん
2007/03/27(火) 20:09:45ID:???Net::SMTPなら、こんなんじゃなかったっけ
0436432
2007/03/30(金) 15:34:09ID:???ありがとうございます。
まだ色々分かって無いですが、また調べてみようと思います。
>>434
まだ理解が足りていなかったみたいです
ご指摘ありがとうございます。
>>435
そうですよね、やっぱし。
でも587というポート番号を指定してる場所がどこにもなくて「あれ?おかしくね?」
と感じて調べ始めたら泥沼に、、、orz
0437nobodyさん
2007/04/02(月) 21:36:14ID:???ポートは自分で設定する必要があるよ。
0438nobodyさん
2007/06/19(火) 22:29:14ID:Ye7oVo0eフォームを作成し、大量の文字を入力してメールを送信するようにすると、
500文字目辺りが文字化けしてしまいます。
その部分から一定の周期で文字化けが発生しています。
300文字程度までなら全然平気なのですが。。
あとそのメールのログをとっているんですけどログの方は大量に文字をうっても問題なく蓄積されていました。
この事からプログラム的な問題ではなく、
鯖にインストールされている sendmail が怪しいかと思うのですが、
バージョンが古いとこのような問題が起こる等、何らかの情報はご存知ないでしょうか??
宜しくお願い致します。
0441nobodyさん
2007/06/20(水) 01:26:40ID:???一行に500文字が入っているの?
SMTPの仕様だか、実装だかに一行の最大文字数みたいな制限があったはず。
途中に改行入れていて500文字だったらスマン、わからん。
0443438
2007/06/20(水) 10:56:39ID:???どうやらビンゴのようです。
改行入れると化けません。
SMTPの仕様でしたか。。。
この仕様について色々と調べてみたいと思います。
大変参考になりました、ありがとうございます!
RFC2822によれば、CRLFを入れて1000文字 (オクテット) ですね。
Sendmailでは長い行を自動的に分割します。
500文字というのはShift_JISで書かれた日本語での換算かな?
…とここまで書いて1ヶ月前の記事ってのに気づいた。まあいいや。
0446nobodyさん
2007/08/19(日) 05:01:02ID:LoxscrBMMTAはqmailでvpopmailでバーチャルドメイン運用してます。
root権限もあります。
perlからの会員登録と同時にメールアカウント作成みたいなもんをしたいんですが。
0447446
2007/08/21(火) 17:15:45ID:HBIrwO1t助けておくれ><;
0448nobodyさん
2007/08/21(火) 19:24:10ID:???外部コマンドを利用するか等で実現方法が変わる。
外部コマンド使う場合
・パイプ、system関数 or バッククォートで外部コマンドを実行
・uidをrootにしsetuidする
・強制的にテイントモードになるのでサニタイズする
ここら辺注意すれば比較的簡単に出来ると思う。
0449446
2007/08/23(木) 03:02:56ID:i/ueFIKiありがとうございます。
おかげさまで解決しました。
Insecure $ENV{PATH} while running setuid at ./hoge.cgi line xx.
というエラーが出て少し悩みましたが。
0450446
2007/08/23(木) 22:35:13ID:i/ueFIKisetuidでroot権限で実行する方法なんですが、mod-perlだとroot権限になりませんね。
できればmod-perlで動かしたいんですが、方法はあるんでしょうか?
0451nobodyさん
2007/08/24(金) 06:17:27ID:ZilCg/Oy0453nobodyさん
2007/08/24(金) 17:19:07ID:???・外部コマンドを実行するプログラム(setuidされた)をmod_perlから呼び出す。
・sudoを使う
思いつくのはこんぐらいかな。
0454446
2007/08/24(金) 23:47:48ID:IBL+ZrlNありがとうございます。
apacheをrootで動かすのは怖くてできません><;
2つ目のプログラムを分けてmod-perlから呼び出すプログラムに数値を渡すにはファイル書き込みか何かで渡す他ないんですよね?
これならできそうです。
3つ目のsudoは
perlプログラム内(test.cgi)に以下の外部コマンド
`script /dev/null -q -c 'sudo -u root /home/vpopmail/bin/vadduser -r hoge\@hogehoge.com'`;
visudoにて以下を追加
apache ALL=(root) NOPASSWD: /var/www/test.cgi
で実行してみましたが、secureログには
sudo: pam_unix(sudo:auth): authentication failure;
と出ます。sudoがシンプルで良いと思っているのですが、認証失敗は何が原因でしょうか?
0455446
2007/08/24(金) 23:57:13ID:IBL+ZrlNどうしたらtest.cgiをsudoで動作させられるんでしょう?><;
0456nobodyさん
2007/08/25(土) 02:55:37ID:???sudoでググれば普通にわかるべ
つーか、そもそもmod_perl使わなきゃいいだけの話じゃないのか?
そんな何回も実行するようなもんじゃないし、危ない橋を渡ることもあるまいに
0457446
2007/08/25(土) 03:35:05ID:YKfJDMUnvisudoには
apache ALL=(root) NOPASSWD: /home/vpopmail/bin/vadduser
ですね。
教えてくださった方々ありがとうございました。
0458nobodyさん
2007/08/25(土) 07:04:35ID:uu0LXyl+0459nobodyさん
2007/08/25(土) 08:17:45ID:XkW9fGs30460nobodyさん
2007/10/08(月) 21:00:42ID:???0461nobodyさん
2009/01/21(水) 20:58:10ID:???0462NET
2009/05/08(金) 13:33:02ID:amX8/mpjprint "Perl上級者コーナー";
$key = <STDIN>;
chop $kay;
print = "What's your name?\n;
print = "I'm $key*100 \n;
}
13歳が何もみないでかいてみた><
0463nobodyさん
2009/05/08(金) 13:37:20ID:???0464nobodyさん
2009/05/08(金) 14:22:44ID:???0465nobodyさん
2009/05/11(月) 00:38:49ID:???0466nobodyさん
2009/05/13(水) 10:55:08ID:???0467nobodyさん
2009/05/13(水) 16:57:23ID:???0468nobodyさん
2009/05/16(土) 13:18:58ID:???0469nobodyさん
2010/03/14(日) 01:13:19ID:7f+5rOkc0470nobodyさん
2010/09/12(日) 09:52:33ID:???たかがwebごときで、っていうことはないんだけど
何かしらに依存したwebしかできないのに自称プログラマとか言ってる奴はshine
せめてwebとか接頭辞つけなさい
大概webプログラマって馬鹿ばっか
chopの方が早いし負荷もかからないもんなの
一般レベルの脳があれば推測できる問題
chompは$/とマッチという手順を踏むから
windowsなんて無視無視
スクリプターって基本的に馬鹿だから共用のレン鯖とかでいらぬリソース食うぐらいしか脳がないんじゃねーの?
その脳で素敵CGIスクリプトです!って糞コード延々と書きやがるから始末におえない
ところで上級者コーナーじゃないの?ここ
一年以上経ってるわけだけど>>466とかの頭って少しは修正されてるのだろうか
0471デフォルトの名無しさん
2010/10/27(水) 07:25:26ID:5gjOlAXp0472nobodyさん
2010/11/01(月) 20:21:33ID:???0473Perl忍者 ◆M5ZWRnXOj6
2010/11/01(月) 21:58:30ID:y3OKpJECおめえみたいなカスは一刻も早く死ぬべきだと思うよ
だいたいWebプログラマをバカにするのはまじで
Cオタなんだよ な?お
おめえが書いた糞コードよりかも
そこらへんのクソウェブグラマ我書いたコードのほうが100杯おもしれえんだよ
お願いだから早く死んでくれないかな?今すぐ?ね?お願いお前邪魔消えろ死ねよゴミハゲ失せろカス
リソースくってんじゃねえよおめえは資源の無駄
消えろてか死ねロボットの制御でもやってろよはなくそ消えて?
邪魔だから死ねばお目絵がばかだろ消えろ
お前みたいな目糞鼻糞はゴミなんだよウインドウズばかにしてんじゃねえよごみ
0474Perl忍者 ◆M5ZWRnXOj6
2010/11/01(月) 22:00:03ID:y3OKpJECてめえみたいな糞ガリチビがいきがってるとマジ死ねって思うよ
0475nobodyさん
2010/12/19(日) 16:48:31ID:VNwU7k7rもっとガンバレ。
0476nobodyさん
2011/04/26(火) 13:25:56.35ID:ItQASWDv速度の差なんてほとんどないのに行末改行なしのレコードを削ってしまうリスクを犯して
chop推奨するとかマジキチ。
0477nobodyさん
2011/04/26(火) 13:42:12.97ID:???クソどもは
0478nobodyさん
2011/04/26(火) 14:22:06.93ID:???0480nobodyさん
2011/06/13(月) 03:41:02.85ID:OcAQvTJ8ってやったら、AAA::BBB って
表示されたんですが、これはバグですか仕様ですか?
0481nobodyさん
2011/06/13(月) 08:09:49.79ID:Akk4alQR仕様。パッケージ名とみなされパースされた。
Barewordは使わずクオートで囲うべし。
■ このスレッドは過去ログ倉庫に格納されています