【Perl 】初心者コーナーPart8
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。
01/10/24 14:11ID:???1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ、良い回答は良い質問から。
一緒に勉強しましょう。
参考書籍はこちら【【Perl,CGI】参考書籍 第2版 】
http://ebi.2ch.net/test/read.cgi/php/988809842/l50
CGIの質問はこちら【CGIだけど、なんか質問ある?part4】
http://ebi.2ch.net/test/read.cgi/php/1000804655/l50
過去ログ、その他の役立ち情報は>>2-10を見よう。
0809名無しさん@お腹いっぱい。
01/12/21 17:32ID:woby9OMk0810名無しさん@お腹いっぱい。
01/12/21 18:31ID:f6xZfwM20811名無しさん@お腹いっぱい。
01/12/21 19:35ID:woby9OMk8文字以外は暗号化&復号化できないんですか?
0812名無しさん@お腹いっぱい。
01/12/21 21:12ID:???そんなあなたにCrypt::CBC
0813名無しさん@お腹いっぱい。
01/12/21 22:00ID:woby9OMkありがとうございます。
use Crypt::CBC;
my $cipher = new Crypt::CBC("nantara",'Blowfish');
my $ciphertext = $cipher->encrypt_hex('秘密');
print q|暗号化:|,$ciphertext ,qq|\n|;
print q|復号化:|,$cipher->decrypt_hex($ciphertext);
この使い方であっていますか?
0814名無しさん@お腹いっぱい。
01/12/21 22:12ID:???良いんでない?
pack外すのは用途に寄りけりご自由に。
というか、2.01までVERSIONあがってたのね…
0815名無しさん@お腹いっぱい。
01/12/21 23:21ID:woby9OMkどういう意味ですか?
0816794
01/12/22 01:31ID:???どこがまずいのでしょうか?
済みませんが教えてください。お願いします。
^ は先頭にマッチ、$ は末尾にマッチしますよね。
+ は一回以上の繰り返し。
ならば、
=~ m/^\d$/
は 0a123b0 にマッチしても良いように思っていました。
0818JAPU@日帰りで東京に出張でした ◆JAPUTeX.
01/12/22 02:30ID:???0a123b0 にマッチさせたかったら、普通は /^[ab\d]+$/ とでもしてください。
# 専用のロカールを用意すれば、\d にマッチするのかも。(?)
語頭・語尾が数字なら
/^\d(.*\d)?$/
0820794
01/12/22 03:07ID:???あ、成る程。
=~m/^\d+$/ は /^\d/ と /\d+/ と /\d$/ の組み合わせで、
最初が数字、それに続く文字列も数字、引き続いて末尾も数字ということですか。
/\d+/ は文字列の途中に一回以上数字の繰り返しがある事で、a123b もマッチする
というのが引っかかっていました。
スレ違い済みません。
0821名無しさん@お腹いっぱい。
01/12/22 07:03ID:???コードを見ると冒頭に
load the C socket.h defines and structure manipulators
と書かれていて、Cのsocket.hをマニュピレートしているらしいのですが
コードは殆どが定数の定義で、関数定義はsockaddr_inとsockaddr_unの
2つだけなんです。
それで、sockaddr_inを追ってみるとpack_sockaddr_inと言うのを呼んでいる
のですがその実体が何処にあるのかが分かりません。
それらしきモジュールもインポートして無いしで行き詰まってしまいました。
この辺りにPERLからCのライブラリを呼んだりするコツが有ると思ってるんですが・・・
Socket.pmの謎が書かれたサイトなんかは無いでしょうか
0822_gunzip
01/12/22 09:23ID:???XSについてはperlxstut, perlxs, perlgutsなどを参照しながら慣れていってくださいな。
http://www.kt.rim.or.jp/~kbk/perl5.005/perlxstut.html
0823_gunzip
01/12/22 09:32ID:???Perl6では標準よん。
http://dev.perl.org/perl6/talks/tpc5-internals/perl%206%20internals.html
0824名無しさん@お腹いっぱい。
01/12/22 11:54ID:???encrypt vs encrypt_hex
decrypt vs decrypt_hex
の違い、ってこってす。
0825名無しさん@お腹いっぱい。
01/12/22 12:02ID:COKK+YU4初心者なので、パーミッションの仕方などを丁寧に教えていただきたくて・・
とっぴな事を言っているのは解っています。
どうしてもひつようなんです。
教えていただけるでしょうか?
スクリプトをはりますが・
0826825
01/12/22 12:05ID:COKK+YU4どうしても設置したいのです・・。
FTPを使ったIP抜きなのですが・・・。
スクリプトはあるので
詳しい設置の仕方を1から教えていただけますと幸いです・・。
恐縮な質問ではありますが、お願いします。
0827名無しさん@お腹いっぱい。
01/12/22 12:13ID:???0%になった、こっちに行って聞け
http://mentai.2ch.net/hack/
0828825
01/12/22 12:17ID:COKK+YU4助けて下さい・・お願いします。
Perlの本を3冊買ったのですが
パールの使い方がよくわからなくて・・。
JPERLもインストールしました。
なんとかよろしくお願いします・・。
0829名無しさん@お腹いっぱい。
01/12/22 12:21ID:???その場をわきまえない態度がBBSを荒らされる一因だと気付け
0830デフォルトの名無しさん
01/12/22 12:23ID:???嵐なんか放っておけば?>828
0831825
01/12/22 12:24ID:COKK+YU4そのとおりなのですが・・
ひどい荒らしで一年以上もあらされているのです・・。
同じ奴にです・・。
難しくてよく設置できないのです・・。
できるかぎり努力いたしますのでお力をお貸ししていただけないでしょうか・・。お願いします
0832名無しさん@お腹いっぱい。
01/12/22 12:34ID:???>いらっしゃーい、perlのコーディングで困ってる人のスレです。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
設置相談はスレ違いです。
0833825
01/12/22 12:37ID:COKK+YU4ありがとうございます!
今自分でちょっと色々やっているので(本当に初心者なのですが・・)
もう少し経ったら整理して質問させていただきます!
どうもありがとうございます。 感謝です!
0834825
01/12/22 13:11ID:oibAhbUr1、自分は 一年間あらされて困っているので
FTPでIPを抜きたい。既にスクリプトは持っている・・。
2、3やってみようとしたのですが、掲示板のソースに
どうやってサブルーチンとして(?)付け足すのかなどが解らないのです・・。
従って、アップロードというかしてみても全く反映されません・・。
パーミッションを666にする
などの事は解るのですが、
具体的にどうやったらよいのか解らなくて・・。
一生懸命頑張りますので
どなたか少しでも教えてくださいますと幸いです・・・。
宜しくお願いします。
そう言うの慇懃無礼っつんだぞ。
それに、、
::少なくとも1年以上PCを触っていて
::Perlの本を3冊持っていて
::自分でも一生懸命頑張っている
のに、設置も出来ないってのはどう言うこった(呆
本当に困ってるなら警察に相談してその旨掲示しておけよ
これは俺だけかも知れないけど、IP抜きだの生IPだのって
厨房臭くて鼻が曲がりそうになるよ。
解法を間違えてると思わないか?
0836名無しさん@お腹いっぱい。
01/12/22 13:32ID:???と言うかこれって前にもどこかで見たんだけど、誰かばら撒いてるの?IP抜き
FTPって事はFakeのサーバみたいなのでacceptしてフレームとかで
キックさせるのかな。。 くだらないけどちょっと興味有る(笑
0837825
01/12/22 13:34ID:rCfJnn6Tパールの本は買ったのですが難しくて内容が・・・。
警察にはとりあってもらえませんでした。
IP抜きは、プロクシを何回も新しいのを身に付けてくるのでどうしようもないのです・・・。
宜しくお願いします・・。
>836様
スクリプトを知り合いに頂きました・・。
0838825
01/12/22 13:41ID:OuqMrQhgでは、
既にレンタルの掲示板がある場合、
それに機能をつけたすには、
そのレンタル掲示板のソース(PERL)に、
サブルーチンとして文字を付け加えれば
そのような効果を持つようになるのでしょうか?
お答え願えますと幸いです・・よろしくおねがいします。
0839名無しさん@お腹いっぱい。
01/12/22 13:52ID:IddObTYJ$x = 4294967296; # 0x100000000
のような値を、(ビッグエンディアンなら)
00 00 00 00 01 00 00 00
のようなバイナリファイルにしたいのですが。
pack 'Q', $x;
は "Invalid type in pack : 'Q' と言われてしまいます。。。
何かいい方法があったら教えてください。
本読んでもわからない知識ならほかの買うかあきらめて掲示板削除しろ。
どうせ1年以上荒らされているなら来ているやつもいないだろうし
それともネタ?
どれにしてもすれ違いです。
0841825
01/12/22 13:58ID:oibAhbUrいや、今でも一日300人ぐらい来てくださっているので・・・。
では、サブルーチンについて教えて頂け無いでしょうか・・。
掲示板のソースに ( ) で囲んでサブルーチン
(つまり導入したいCGIのソース)を押し込むだけで
機能は追加されるのでしょうか・・?
宜しくお願いします。
0843名無しさん@お腹いっぱい。
01/12/22 14:02ID:oibAhbUr実際の意味がよく解りません・・・助けて下さい
お願いします。
0844名無しさん@お腹いっぱい。
01/12/22 14:06ID:???Qなんて無かったよね ^―^;
今環境無いからテスト出来ないんで、ここので試してみて
http://www.rfs.co.jp/sitebuilder/perl/func/03.html#pack
確か前にdouble吐けなくて悩んだ記憶が・・・・
0845名無しさん@お腹いっぱい。
01/12/22 14:07ID:???貼り付けただけだと(多分)動かないよ ^―^;
0846名無しさん@お腹いっぱい。
01/12/22 14:12ID:oibAhbUr例えば、 レンタル掲示板のソースが、
最後
exet;
で終わったします・・。そして、そのあとあるいは途中に、
( ) で囲んで、
その中に拾ったスクリプトを入れればいい・・じゃダメなのでしょうか?
よろしくおねがいします・・本当に困っているのです・・。
又、 ( ) とするべきなのか、{ }とするべきなのかも解らないのですが・・うう・・・。
お願いします。
助けて下さい・・おねがいします・・・。
0847名無しさん@お腹いっぱい。
01/12/22 14:13ID:???UG地方の特産品です。他にもNNTP、echo、telnet等など有り
これにログインマクロとか、ばればれフルコネクションの激遅スキャナとか
合わせたのが有るんだよ。 多分日本人だと思うが
0848Kusakabe Youichi
01/12/22 14:27ID:???>exet;
エラーですね。
>その中に拾ったスクリプトを入れればいい・・じゃダメなのでしょうか?
動けばそれで良いのでしょう、プログラムは書いた通りにしか動きませんよ。
>( ) とするべきなのか、{ }とするべきなのかも・・
どちらでも動かないと思うので結果は同じでしょうね。
>お願いします。
多分サポート出来る限界を大きく超えているので無理ですね
0849名無しさん@お腹いっぱい。
01/12/22 14:37ID:???>>832も書いているが、ここは825の一連の書き込みにあるIPの抜き方やCGI
スクリプトの動かし方を尋ねるスレじゃない。825は自分じゃ気付いてない
ようだが、スレの趣旨に反する君の執拗な書き込みそれ自体も、十分荒らしと
呼べる行為だよ。
掲示板の荒らしが限度を超えるなら、その旨を相手にきちんと伝えた上で、な
お止まないようなら警察に行くべき。それなりの理由で警察が動けばISPもロ
グを出すだろうし、825がIPを抜く必要も無い!
一方で、あれこれ訊いて仮に825が荒らしのIP抜けたとして、どうするわけ?
# まさかattackの方法をまた訊きに来るわけじゃないよな?(藁
825が不正アクセスや、迷惑メールなんかで反撃すれば法律に引っかかるだ
ろうし、IP判定で接続拒否してもIPが固定じゃなかったり、proxy使ったりで、
そういう輩なら手を変えて結局同じことを繰り返すと思うよ。そんなことして
も一向に状況は改善されないor825がいいように翻弄させられる(泣き寝入
りする)だけで、逆に相手に825の反撃を逆手にとって合法的に追求できる
可能性も与えてしまう。つまり自分の立場も悪くなるってこと。
いずれにせよこの話題を続けるのはスレ違いだとと思うので、法律板で相談す
るなり、技術的な話に絞った上で適切なスレを選ぶなりして下さい。少なくと
もこのスレの趣旨には沿わない内容です。
長文sage。
0850名無しさん@お腹いっぱい。
01/12/22 14:44ID:???>>846
今の状態じゃ説明しきれないよ、ここに書いたとしてもそれを理解出来ないだろ?
だから今持ってる本を先に良く読んでからまたおいで。
0851名無しさん@お腹いっぱい。
01/12/22 14:46ID:fxlPljicええと、法的にはどうにもなりません。
掲示板嵐は犯罪でもなんでもないので、(名誉毀損などなければ。)
それはムリな話です・・。
プロバイダに文句を言われればやめるので、あるいはアカ取り消しですし・・。
以後も、同様のユーザーをすぐにログを洗ってもらえるようになりますし・・。
アタックなんてできません・・。
今色々やっています・・またあとできます・・。同か宜しくお願いします皆様。
0852839
01/12/22 14:49ID:IddObTYJどうもです。いろいろ試して、
$l1 = int($x/0xffffffff);
$l2 = $x % 0xffffffff;
print pack 'LL', $l2, $l1;
これで、求めるものが出ているような気もしますが
あんまり自信もなし。。。
Q は、 perldoc -f pack すると
q A signed quad (64-bit) value.
Q An unsigned quad value.
(Quads are available only if your system supports 64-bit integer values _and_ if Perl has been compiled to support those. Causes a fatal error otherwise.)
とあって、これしかねぇ〜と喜んだのですが。。。
Win32ではサポート外だったようで。ハァ
0853名無しさん@お腹いっぱい。
01/12/22 14:50ID:???0854名無しさん@お腹いっぱい。
01/12/22 14:57ID:oibAhbUrすみません。
今パッと取った掲示板なのですが、このサイトは
フリーで一切HTMLなどをいじっていません・・。無料BBSです。
簡単に作れてしまうサイトです。
この掲示板で、自分でCGIをつけたしたりすることは可能でしょうか?
教えて下さいお願いします。
0855名無しさん@お腹いっぱい。
01/12/22 15:01ID:???0856Web板初心者スレ886
01/12/22 16:15ID:???Perlに関して教えて下さいと言う質問かと思ったので
こっちに回したのですが、とんでもない厨だったようですね。申し訳ない。
http://pc.2ch.net/test/read.cgi/hp/1007538322/884-
0857名無しさん@お腹いっぱい。
01/12/22 17:17ID:???0858名無しさん@お腹いっぱい。
01/12/22 22:57ID:???$x に 64bit int 入れてちゃんと動いてる?
実は double になってるかもよ。
0859名無しさん@お腹いっぱい。
01/12/22 23:34ID:t/VCgPdO英語名にするとか
名前の前に_をいれるとか。どう?
ちなみに先頭に_をいれとけば予約語とかぶる事って無いですよね?
0860名無しさん@お腹いっぱい。
01/12/23 00:58ID:MEqShOBiあるサブルーチンで出た結果を$resultに代入したとします。
これは必ず
return $result;
としなければならないのでしょうか。
returnの使い方がいまいち分かりません。
どういう時に使うもの/使わなければならないものものなのでしょうか。
perldocをみてもよく分かりませんでした・・・。
宜しくお願いします。
0861age
01/12/23 01:01ID:kSQE2xUF0862名なひ
01/12/23 02:13ID:M1oj4o+APerlのサブルーティンは戻り値返さなくてもよかったと、思う。
return();省略したら最後に評価した式が勝手に戻り血にできる、ようなきがした。
0863名無しさん@お腹いっぱい。
01/12/23 03:01ID:???規約だけ守れば好きなようにやればいい
コーダのレベルは大体この辺で分かるけどな(笑
0864名無しさん@お腹いっぱい。
01/12/23 03:45ID:???ローマ字にしておくほうがまだ救いがある。
0866名無しさん@お腹いっぱい。
01/12/23 15:31ID:cDgNamdEprint $_;
}
と、
print <IN>;
ってメモリ消費量違ったりするんでしょうか?
0867分からないくせに生意気なことを言ってみる
01/12/23 15:35ID:???Perlでメモリーを気にするのはナンセンス
0868名無しさん@お腹いっぱい。
01/12/23 15:43ID:???returnって関数なの?
0869868
01/12/23 15:45ID:???0870名無しさん@お腹いっぱい。
01/12/23 15:46ID:???0871名無しさん@お腹いっぱい。
01/12/23 15:47ID:???いや、関数らしいぞ。プログラミングPerl改訂版(JP)の237ページに載っている。
0872名無しさん@お腹いっぱい。
01/12/23 15:51ID:???0873名無しさん@お腹いっぱい。
01/12/23 15:51ID:???0874名無しさん@お腹いっぱい。
01/12/23 15:56ID:???他の言語とは意味が違うとしか思えないよ。
0875名無しさん@お腹いっぱい。
01/12/23 15:58ID:???ifやforも関数にすればよかったのにね。 (w
0876JAPU ◆JAPUTeX.
01/12/23 16:05ID:???過度にメモリを気にするのはナンセンスだけど、ある程度は考えようぜ。(苦笑)
(>>866 の場合は while 使うのが吉。)
0877名無しさん@お腹いっぱい。
01/12/23 23:28ID:???突っ込み隊が一杯釣れそうだな (・∀・)
0878名無しさん@お腹いっぱい。
01/12/24 01:49ID:???まだドキュメント読んでる最中なんで、可否が解れば幸いです ^^
0880名無しさん@お腹いっぱい。
01/12/24 04:33ID:???0881名無しさん@お腹いっぱい。
01/12/24 05:44ID:???有るか無いか聞いてどうすんの?
>いらっしゃーい、perlのコーディングで困ってる人のスレです。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0882名無しさん@お腹いっぱい。
01/12/24 06:24ID:uH077O8Q常套手段って有りますか
例えば上限を5とすると、5を超えるとsleep秒待ってリトライ
と言う感じで実装したいのです
0883821@v(・ v ・)v
01/12/24 08:10ID:???Socket.xs、ちょっと開けて読んでみましたけど、難解ですねー
と言うかこれってスパゲッティー?
頑張りますー 、ありがとうっす。
0884名無しさん@お腹いっぱい。
01/12/24 15:39ID:CE1hGHz4具体的な方法をご存知の方がいらっしゃいましたらご教授お願い致します。
0885名無しさん@お腹いっぱい。
01/12/24 16:03ID:n/gVuaksJSで書き出せば可能かと。
0886名無しさん@お腹いっぱい。
01/12/24 16:10ID:???何でSSIなん? つーかJavaスクはWEB製作だろっつの >ム板さん
Googleで「Javascript」「Set-Cookie」で検索してヒットしたものを
SSIでexeccmdすれば良いの、ソースは検索すれば100万件位出てきます
0887田イ戈
01/12/24 17:44ID:???<meta http-equiv="Set-Cookie" content="cookiename=cookievalue">
か。Perlとは関係ないのでスレ違い。
JavScript を execcmd って何だろう?
0888名無しさん
01/12/24 17:56ID:???<meta http-equiv="Set-Cookie" content="cookiename=cookievalue">
って何だろう?
0889名無しさん@お腹いっぱい。
01/12/24 18:01ID:???0891884
01/12/24 21:50ID:zH2D792Bexeccmdでパールで作ったCGIを呼び出すのですが、
それをクッキーに食べさせる方法を聞きたかったのであります。
JAVAスクリプト使うか
<meta http-equiv="Set-Cookie" content="cookiename=cookievalue">
を使えばいいのですね。
JAVAスクリプトはまだやったことがないので
後者を使ってみます。
どうもみなさんありがとうございましたm(__)m
0892名無しさん@お腹いっぱい。
01/12/25 00:55ID:SHv7CWw6てやるのと@data = <FILE>
とかに代入して処理するのだと@dataの方が
メモリ使わなかったりするのですか?
0893892
01/12/25 00:59ID:SHv7CWw6@dataの方がメモリ使ったりするのですか?
0894名無しさん@お腹いっぱい。
01/12/25 01:02ID:???します。
0895名無しさん@お腹いっぱい。
01/12/25 01:04ID:???少し上のレスくらい読んでみたらどーよ。
0896892
01/12/25 01:19ID:SHv7CWw6どうもありがとうございます。
読んでたんですけど、低次元なレベルなもので
代入だと別なのかも・・・と思いまして。
0897892
01/12/25 03:25ID:qZ0BU43GWHILEで処理してる間に(これは読み取りのみで開いた)
別の処理が書きこみしても大丈夫でしょうか?
例えば
#処理1
open (FILE,./file.dat)
while(<FILE>){〜〜〜;}
close FILE;
#処理2
open (FILE,">./file.dat")
print FILE $hogedata;
close (FILE);
みたいな感じでAさんが処理1をやってる場合に
Bさんが処理2をやるというのは問題無いですか?
0898892
01/12/25 03:27ID:qZ0BU43Gclose (FILE);です。
0899名無しさん@お腹いっぱい。
01/12/25 04:08ID:???0900遅いか
01/12/25 07:28ID:???ファイルハンドルはリストコンテキストだと全てを(メモリに)読み込み
スカラーコンテキストだと一行読み込みます。
foreach(){}の()とか配列、リストを左辺に置く代入文は右辺は
リストコンテキストで評価されます。
面倒なときはscalar(オブジェクト)で強制的にオブジェクトをスカラーで評価できます。
while(<IN>){}は$_=<IN>の省略なのでスカラー評価でメモリは抑え目です。
0901名無しさん@お腹いっぱい。
01/12/25 07:44ID:???問題ある。
同時に1つのファイルを読み書きすると
おかしなデータを読み込むかもしれない。
処理1側で @data = <FILE>; とやっていてもダメ。
flock関数について調べると吉。同時に読み書きできないようにできる。
蛇足だけどPerl5くらいから,組み込まれたり事前に宣言されている関数は
open FILE, '> ./file.dat';
close FILE;
みたいに ()無しでも使える。
0902イヤーソ
01/12/25 12:56ID:???0903名無しさん@お腹いっぱい。
01/12/25 16:46ID:mgSxI3Lqそれを順に並び替えて(123、132、213、231・・・・・のように)
全パターン出力する書き方を教えてください。
よろしくお願いします
0904名無しさん@お腹いっぱい。
01/12/25 17:17ID:???0905903
01/12/25 17:27ID:???@a="A","B","C";
を
画面上で
ABC
ACB
BAC
BCA
CAB
CBA
の表示させたいのです。
よろしくお願いします。
0906名無しさん@お腹いっぱい。
01/12/25 17:36ID:???それってPerlの話?それともアルゴリズムの話?
Perlの話なら、とりあえず疑似コードかCでアルゴリズム書いてみ。
0907名無しさん@お腹いっぱい。
01/12/25 17:37ID:???もし分かったら二度と戻ってくるな
もし分からなかったらお前は正真正銘完全完璧にプログラムには
向いてないからやっぱりもどってくるな、諦めろ
0908名無しさん@お腹いっぱい。
01/12/25 17:43ID:???レス数が900を超えています。1000を超えると表示できなくなるよ。