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

【Perl 】初心者コーナーPart8

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/10/24 14:11ID:???
いらっしゃーい、perlのコーディングで困ってる人のスレです。

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を見よう。
0766( ・ ∀ ・ )01/12/20 01:25ID:???
>なんか、有名どころがわざわざ salt を抜き出す処理をしているから、
勿論KENTたんです。( ・ ∀ ・ )
0767名無しさん@お腹いっぱい。01/12/20 01:39ID:???
最初は、
> crypt されたデータをそのまま第2引数に渡せば良い。
これがどうしても理解できなかったっけ…。

最初の2文字だけを使って後は無視するようになってるのね…。
0768名無しさん@お腹いっぱい。01/12/20 01:39ID:EUQmf+X1
Perldocを読めば、プログラミング Perlは用無しですか?
0769名無しさん@お腹いっぱい。01/12/20 01:57ID:???
>761
鯖缶使う。
0770  01/12/20 02:00ID:G+RXTczj
あのーーー

CGIでSSIをつかいたいんですけど
どうすればいいですか?
.shtmlに書き出したりしないで
そのままの状態で繁栄させたいんです
できないのかな?
0771名無しさん@お腹いっぱい。 01/12/20 02:03ID:???
えとねえとね。。。
無理!
0772名無しさん@お腹いっぱい。01/12/20 02:06ID:???
>>770
CGI実行→HTML吐き出し→SSIってことか?
0773JAPU@ハーマイオニー萌え ◆JAPUTeX. 01/12/20 03:09ID:???
>>768
無くても問題はない。
ただ、最初に一通り読むときは本の方が読みやすいと思う。
0774名無しさん@お腹いっぱい。01/12/20 06:53ID:???
>>765
>わざわざ salt 部分を抜き出すのは移植性を低下させます。
それとまったく逆の主張したページを見たよ
本には「抜き出すのはムダ」とあるがそれじゃ移植性を低下するって
0775名無しさん@お腹いっぱい。01/12/20 08:20ID:???
>>774
それは太古のperl(つーかcrypt関数)の話だな
0776名無しさん@お腹いっぱい。01/12/20 08:41ID:???
>>775
v7(まだperlができる前のはず)のcrypt()ですら、saltにpw_passwdつっこんでも
大丈夫なんだが。

よっぽど変なOS使わない限り大丈夫なはずだし、最近のOSだと切ると
かえって一致しなくなったりする。
0777 01/12/20 09:48ID:78lYN6vv
http://www.shiftweb.co.jp/fclick
0778名無しさん@お腹いっぱい。01/12/20 10:54ID:P+3lQOD1
今までライコスのwebメール使用していたのですが
そろそろサービスが中止になるので思いついたのですが、
プロバイダがCGIを許可していたら、プロバイダのメールを
web上で読み書きしたり出来るCGIってあるんでしょうか?
あったとしても、サーバー側で何か許可が必要でしょうか?
0779名無しさん@お腹いっぱい。01/12/20 11:30ID:???
>>778
最低限必要なモノ

1. プロバイダが自分トコのアクセスポイント以外からのPOPの利用を許可している。
2. CGIを設置するサーバで Socket が利用できる。
3. こんなこと聞かんでも解るくらいのスキル。
0780名無しさん@お腹いっぱい。01/12/20 12:55ID:???
1.可能です。LANからもOKです。
2.use Socket; 自体は動作しますが、Socketで
通信を許しているのは localhostへのsmtp/tcpのみとなります。
と書いてありました。これはひょっとしてローカルの送受信
のみって事ですか?
3.先に何をしたいとか思いついてから調べるというのは
いけないという事ですか?
0781名無しさん@お腹いっぱい。01/12/20 14:13ID:???
>いけないという事ですか?
いけなく無いしそんな法律も条令も有りませんよ。
ただ
>localhostへのsmtp/tcpのみとなります。
こう言うの調べるのにスキルとか技術とか必要無いんですよね。
ただ若干の検索をするだけ、少し自分の時間を潰すだけで済みます
0782トランスB01/12/20 14:55ID:pb4PV4KL
ADSLで、LANケーブルの近くで
電子レンジとか使うと速度落ちるよ。
マジで。ほんとに。いろいろ
スピード化について本に書いてた。
http://www.puchiwara.com/hacking/
0783デフォルトの名無しさん01/12/20 15:04ID:???
臭いから消えてね v(^ー^)v
078478001/12/20 15:15ID:???
>781
>localhostへのsmtp/tcpのみとなります。
でもこれは779で「Socketが利用出来るかどうか」って
指示があったからようやく調べる検討がついたからです。
この書き込みがなければ気がつかなかったところです。
ある程度わかっていれば調べる方向も検討がつきますが、
自分はわからない。だからプログラムとかどこにあるとか
作成の方法をいきなり聞くんじゃなくて
使用しているサーバーで制限とかないかまずは聞いたわけです。
そういうのが聞けるから初心者のスレッドだと思ったんですが
違うんでしょうか?
0785Kusakabe Youichi 01/12/20 15:39ID:???
In article >>784, デフォルトの名無しさん/784 wrote:

>でもこれは779で「Socketが利用出来るかどうか」って
>指示があったからようやく調べる検討がついたからです。

そこから更に

>これはひょっとしてローカルの送受信 のみって事ですか?

と言う質問につながる訳ですね、
次は「で、それはどうやって書けば言いのでしょうか?」あたりかなあ

>使用しているサーバーで制限とかないかまずは聞いたわけです。

あなたの財布に幾ら入っているか私には分かりません、
あなたが使ってるサーバの事は私には分かりません。

>そういうのが聞けるから初心者のスレッドだと思ったんですが
>違うんでしょうか?

そう思いたいのですね :)
それは利用者全員が決める事であなた個人が決める事では無いですね
0786sage01/12/20 15:42ID:sKSPgKeT
>>784
論理的に反論しているつもりみたいだけど、意味不明。
先ず、あんたのやろうとしていること自体が初心じゃねーって事気付けよ。
少なくても、779のレスで気付くべき。
078778001/12/20 16:08ID:???
私はひょっとしてとんでもないことを聞いていたのでしょうか?
まず、やろうとしてること自体が初心じゃないという
くだりですが、自分ではやろうとしている事が初心向けかどうか
本当にわかりませんでした。779を読んだ時点でも初心向けじゃないから
やめたほうがいいというサインに気が付きませんでした。
これは申し訳ありません。はっきり言われて無謀だという事が
ようやくわかりましたので諦めます。
>785
>>使用しているサーバーで制限とかないかまずは聞いたわけです。
>あなたの財布に幾ら入っているか私には分かりません、
>あなたが使ってるサーバの事は私には分かりません。
これですが、778で書きましたが、「私の」サーバの制限を
ここで聞いたのではないです。(784だけ読むとそれっぽいんですが)
0788名無しさん@お腹いっぱい。01/12/20 16:10ID:e9pvO+JY
>>763
ありがとうございます。
『/^\$1\$(.*)\$/』の部分はやっぱり正規表現なんですね。
苦手意識があるかも・・・。
もっと勉強します。


>>765
あ!
『crypt関数が二文字を必要とする』と自分で書いていて・・・。

765さんの方法があったんだ・・・。
まったく気付かなかったです。応用力ゼロ<私

紹介してもらったURL、活用します。
私が前回質問した、int関数、rand関数のことも載っているし。
うち、お年玉という習慣がないんです(私自身少し前までドイツにいたのでいま
いち分かっていません)。
だから紹介してもらってすごくありがたいです。

そうです。KENTさんのところのプログラムを参考にしています。
実は>>51が私で、その下の方に教えてもらったのがきっかけでした。

でもこうして質問してみると765さんの方が分かりやすいですね。

ありがとうございます。
078977901/12/20 16:38ID:???
とんだ電波少年だったようだ・・・。
0790名無しさん@お腹いっぱい。 01/12/20 16:42ID:???
KENTも良いけど、他のにしろー ^-^;
ドイツに居たって、英語も読めるんでしょ? だったらperldocとか
texinfoとか読みまくれー。
>>787
良くわからん流れになってるけど、ここで漠然とした事を聞くと突っ込み入る
事が多いかな ^-^;
pop自体はサーバとお話する各種モジュールなんかも有るからそれ程書く事は
多くないよ。ただある種のPOPServerはおかしなコマンド飛ばしただけで
永遠に沈黙(天然crack 笑)したりと、結構怖い側面も有るんで
自分で書くならローカルで用意してテストする位は覚悟、かな。
0791デフォルトの名無しさん01/12/20 23:15ID:???
POPって配布スクリプトがそれ程多くないのは、やっぱりHOST制限が
有るからかな。。。
kent氏とか配ってても良さそうだよね
LWP::とかより正しい?サーバーの使い方と思うんだけどなあ。
LinuxMagazineの連載見ながらモジュール漁ったのがなつかしひ。。
079241501/12/20 23:53ID:wN6aMomP
幾つか質問して良いですか?
"\n" を chop した変数や "" を正規表現や文字列比較の際に上手くハンドルする
方法を教えてください。

1)改行だけの変数を chop したらどうなるのでしょうか?
$kaigyou = "\n";
chop $kaigyou;
if ("" == $kaigyou){
   # $kaigyou の中身はどうなっているのでしょう?
}

2)1 を数字列を表わした正規表現に入れるとおかしな反応をします。
$kaigyou = "\n";
chop $kaigyou;
$length = length($suuji);
if ($suuji =~/\d{$length}/){
   # false にならない。
}

3)2 の逆(数字列以外)はどうすれば良いのでしょう?
$nSuuji = "";
$length = length($nSuuji);
if ($nSuuji =~ /\D{$len}/){
   # true にならない。
}

今作成している perl スクリプトで困っているのですが、どなたか助けてください。
0793名無しさん@お腹いっぱい。01/12/21 00:00ID:???
>792
とりあえず、もう一度見直せ。
間違いだらけ。
0794名無しさん@お腹いっぱい。01/12/21 00:46ID:3wtz2sHT
>>793
優しく教えてplz.
0795JAPU@ハーマイオニー萌え ◆JAPUTeX. 01/12/21 00:52ID:???
>>792

1) == と eq の違いを調べてください。このようなミスを防ぐには -w を付けます。
2) length($suuji) は 0 です。{n} は直前の正規表現の n 回分の繰り返しを表わします。\d{2} なら "25" とか "22" がマッチします。
3) 変数のスペルミスです。これも -w で防げます。

「プログラミングPerl 改訂版」
「Programming Perl 3rd Edition」
perldoc
を一通り読んでおくと吉。
0796デフォルトの名無しさん01/12/21 01:06ID:???
JAPUは優しいなぁ・・・
079779401/12/21 01:11ID:???
スマソ。
一応書き直してみましたが、汚い似非コードは忘れてください。

知りたかったのは "\n" を chop したら何になるのか、
数字だけの文字列を正規表現で表わすのはどうやるのかというです。
~= /\d/ は数字の一つにマッチするだけですよね。
"abc000" とかでもマッチしてしまいます。

>>793さん、795さん
ご指摘どうもありがとうございます。


1)改行だけの変数を chop したらどうなるのでしょうか?
$linefeed = "\n";
chop $linefeed;
if ("" eq $linefeed){
  # $linefeed の中身はどうなっているのでしょう?
}

2)1 を数字列を表わした正規表現に入れるとおかしな反応をします。
$linefeed = "\n";
chop $linefeed;
$length = length($linefeed);
if ($linefeed =~/\d{$length}/){
# false にならない。
}

3)2 の逆(数字列以外)はどうすれば良いのでしょう?
$null = "";
$length = length($null);
if ($null =~ /\D{$length}/){
# true にならない。
}
0798デフォルトの名無しさん 01/12/21 01:23ID:???
本持って無いのか? 取り合えずここ逝ってこい(他にいい所なかったか・・・)
http://www.kt.rim.or.jp/~kbk/regex/regex.html
>~= /\d/ は数字の一つにマッチするだけですよね。
これは =~ m/\d/ な、つまり文字列中に一つでも数字が有れば真
=~ m/^\d+$/ だろ?
>chop〜〜〜
空文字列、つまり何にもマッチしなくなる、つーかchomp使え

他にもつっこみどころは有るが、取り合えず↑のURI行ってこいって。
079979401/12/21 01:52ID:???
>>798
イライラさせてしまって申し訳ない。
URL 見て来ました。

空文字列とは $ = ""; とするのと同じですか?

chomp してもあまり変わりがないような気がするのですが。

\d+$ というのはどういう意味なのでしょうか?
下のコードでは上手く行きませんでした(英字が入っているのにマッチしてしまう)。

$foo = abc012;
if ($foo =~m/\d+$/){
  print "so bad!";
}
else {
  print "oh! yeah!";
}
0800名無しさん@お腹いっぱい。01/12/21 02:13ID:???
>>799
「改行」と明示したからだと思うよ → chomp
ちゃんと>>798を読んでから質問した方が良いと思うなあ…。
0801名無しさん@お腹いっぱい。01/12/21 02:14ID:???
>>799
とほほの はどうだろう。
http://tohoho.wakusei.ne.jp/wwwperl.htm

あとJAPUさんも書いてるように-wをつけよう。
1行目に
#!/bin/perl -w
とか。
0802デフォルトの名無しさん01/12/21 02:33ID:???
眠いからこれが最後な -w ←ワラスイッチ
>空文字列とは $ = ""; とするのと同じですか?
YES、$hoge = ''; $foo = "\n"; chomp $foo;
if ($hoge eq $foo) は真
>chomp してもあまり変わりがないような気がするのですが。
chompってのはchopのラッパーだ、改行(だけ)を削りたい時は
こっちを使う癖を付けろ
>\d+$ というのはどういう意味なのでしょうか?
$は文字列のバッファの最後 ^ は文字列の先頭にマッチする
if ($foo =~m/^\d+$/){  に変えれ

つーか全部聞いちゃつまらんだろ -wcT
080379401/12/21 02:37ID:???
-w 付けたらエラー出まくりで鬱になりました。

標準入力を受け取って、それが数字のみで構成されているか判定したかったのですが、
上手く行きませんでした。

もう少し回り道をして、基本から勉強しなおした方が良さそうです。
皆さん、どうもありがとう。
080479401/12/21 02:52ID:???
ヲヲ! 出来たよ! グレートなあんたに乾杯!
こんな夜中に付き合ってくれた皆さんありがとう!

#! /usr/bin/perl -w

$foo = <>;
chomp $foo;

if ($foo =~m/^\d+$/){
  print "oh yeah!";
}
else {
  print "so bad!";
}

+ と $ は別々なのね。+$ というパターンがあるのかと思ってしまいました。
一から勉強し直します。
0805名無しさん@お腹いっぱい。01/12/21 09:26ID:???
>804
どうしてそれでエラーが出ないのか聞きたいよ・・・。
俺もJAPUさんみたいに優しい人になりたいな。
0806JAPU@ハーマイオニー萌え ◆JAPUTeX. 01/12/21 10:20ID:???
一応補足しておこう。

>>795 で言ってる
> {n} は直前の正規表現の n 回分の繰り返し

「正規表現」には「x」のような単なる文字も含みます。(言い換えれば、単な
る文字もそれ自体で正規表現。) たとえば、/x{3}/ は "xxx" を受理します。
0807名無しさん@お腹いっぱい。01/12/21 10:23ID:cRnuhycD
オススメ!
http://k-server.org/idolst/
0808 01/12/21 10:40ID:???
>>807
ブラクラ
0809名無しさん@お腹いっぱい。01/12/21 17:32ID:woby9OMk
暗号化&復号化する良い方法はありませんか?
0810名無しさん@お腹いっぱい。01/12/21 18:31ID:f6xZfwM2
blowfish etc...
0811名無しさん@お腹いっぱい。01/12/21 19:35ID:woby9OMk
Crypt::Blowfish使ってみたけど、
8文字以外は暗号化&復号化できないんですか?
0812名無しさん@お腹いっぱい。01/12/21 21:12ID:???
>>811
そんなあなたにCrypt::CBC
0813名無しさん@お腹いっぱい。01/12/21 22:00ID:woby9OMk
>>812
ありがとうございます。
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:???
>>813
良いんでない?
pack外すのは用途に寄りけりご自由に。

というか、2.01までVERSIONあがってたのね…
0815名無しさん@お腹いっぱい。01/12/21 23:21ID:woby9OMk
>pack外すのは用途に寄りけりご自由に。
どういう意味ですか?
081679401/12/22 01:31ID:???
>>805
どこがまずいのでしょうか?
済みませんが教えてください。お願いします。

^ は先頭にマッチ、$ は末尾にマッチしますよね。
+ は一回以上の繰り返し。
ならば、
  =~ m/^\d$/
は 0a123b0 にマッチしても良いように思っていました。
081779401/12/22 01:39ID:???
>>816
間違い。

  =~ m/^\d$/
じゃなく、
  =~ m/^\d+$/
0818JAPU@日帰りで東京に出張でした ◆JAPUTeX. 01/12/22 02:30ID:???
"a" とか "b" を数字と見なす文化圏があるの?
0a123b0 にマッチさせたかったら、普通は /^[ab\d]+$/ とでもしてください。

# 専用のロカールを用意すれば、\d にマッチするのかも。(?)
0819 01/12/22 02:48ID:???
>>816
語頭・語尾が数字なら
/^\d(.*\d)?$/
082079401/12/22 03:07ID:???
>>819
あ、成る程。
=~m/^\d+$/ は /^\d/ と /\d+/ と /\d$/ の組み合わせで、
最初が数字、それに続く文字列も数字、引き続いて末尾も数字ということですか。

/\d+/ は文字列の途中に一回以上数字の繰り返しがある事で、a123b もマッチする
というのが引っかかっていました。

スレ違い済みません。
0821名無しさん@お腹いっぱい。 01/12/22 07:03ID:???
Socket.pm に付いてです。
コードを見ると冒頭に
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_gunzip01/12/22 09:23ID:???
ソースパッケージに含まれる$(root)/ext/Socket/Socket.xs内で定義されています。
XSについてはperlxstut, perlxs, perlgutsなどを参照しながら慣れていってくださいな。

http://www.kt.rim.or.jp/~kbk/perl5.005/perlxstut.html
0823_gunzip01/12/22 09:32ID:???
Inline系のモジュールを利用した方が楽だけどね。
Perl6では標準よん。
http://dev.perl.org/perl6/talks/tpc5-internals/perl%206%20internals.html
0824名無しさん@お腹いっぱい。01/12/22 11:54ID:???
>>815
encrypt vs encrypt_hex
decrypt vs decrypt_hex
の違い、ってこってす。
0825名無しさん@お腹いっぱい。01/12/22 12:02ID:COKK+YU4
PERLのスクリプトを掲示板に押し込みたいのです。
初心者なので、パーミッションの仕方などを丁寧に教えていただきたくて・・
とっぴな事を言っているのは解っています。
どうしてもひつようなんです。
教えていただけるでしょうか?
スクリプトをはりますが・
082682501/12/22 12:05ID:COKK+YU4
宜しくお願いします・・。
どうしても設置したいのです・・。
FTPを使ったIP抜きなのですが・・・。
スクリプトはあるので
詳しい設置の仕方を1から教えていただけますと幸いです・・。
恐縮な質問ではありますが、お願いします。
0827名無しさん@お腹いっぱい。 01/12/22 12:13ID:???
残念だが目的を明かした時点でこの板で回答を得られる可能性は
0%になった、こっちに行って聞け
http://mentai.2ch.net/hack/
082882501/12/22 12:17ID:COKK+YU4
レスありがとうございます。
助けて下さい・・お願いします。
Perlの本を3冊買ったのですが
パールの使い方がよくわからなくて・・。
JPERLもインストールしました。
なんとかよろしくお願いします・・。
0829名無しさん@お腹いっぱい。01/12/22 12:21ID:???
じゃあその本を読めよ、設置位その辺のWEB見てやれや
その場をわきまえない態度がBBSを荒らされる一因だと気付け
0830デフォルトの名無しさん 01/12/22 12:23ID:???
冬休みか、、
嵐なんか放っておけば?>828
083182501/12/22 12:24ID:COKK+YU4
>829様

そのとおりなのですが・・
ひどい荒らしで一年以上もあらされているのです・・。
同じ奴にです・・。
難しくてよく設置できないのです・・。
できるかぎり努力いたしますのでお力をお貸ししていただけないでしょうか・・。お願いします
0832名無しさん@お腹いっぱい。01/12/22 12:34ID:???
>>831
>いらっしゃーい、perlのコーディングで困ってる人のスレです。
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
設置相談はスレ違いです。
083382501/12/22 12:37ID:COKK+YU4
>832さま

ありがとうございます!
今自分でちょっと色々やっているので(本当に初心者なのですが・・)
もう少し経ったら整理して質問させていただきます!
どうもありがとうございます。 感謝です!
083482501/12/22 13:11ID:oibAhbUr
どうもです。

1、自分は 一年間あらされて困っているので
FTPでIPを抜きたい。既にスクリプトは持っている・・。
2、3やってみようとしたのですが、掲示板のソースに
どうやってサブルーチンとして(?)付け足すのかなどが解らないのです・・。
従って、アップロードというかしてみても全く反映されません・・。
パーミッションを666にする
などの事は解るのですが、
具体的にどうやったらよいのか解らなくて・・。
一生懸命頑張りますので
どなたか少しでも教えてくださいますと幸いです・・・。
宜しくお願いします。
0835   01/12/22 13:22ID:???
あのなあ、ここはスレ違いって書いてるだろ。
そう言うの慇懃無礼っつんだぞ。
それに、、

::少なくとも1年以上PCを触っていて
::Perlの本を3冊持っていて
::自分でも一生懸命頑張っている

のに、設置も出来ないってのはどう言うこった(呆

本当に困ってるなら警察に相談してその旨掲示しておけよ
これは俺だけかも知れないけど、IP抜きだの生IPだのって
厨房臭くて鼻が曲がりそうになるよ。
解法を間違えてると思わないか?
0836名無しさん@お腹いっぱい。 01/12/22 13:32ID:???
全くだね
と言うかこれって前にもどこかで見たんだけど、誰かばら撒いてるの?IP抜き
FTPって事はFakeのサーバみたいなのでacceptしてフレームとかで
キックさせるのかな。。 くだらないけどちょっと興味有る(笑
083782501/12/22 13:34ID:rCfJnn6T
>835さま

パールの本は買ったのですが難しくて内容が・・・。
警察にはとりあってもらえませんでした。
IP抜きは、プロクシを何回も新しいのを身に付けてくるのでどうしようもないのです・・・。
宜しくお願いします・・。
>836様

スクリプトを知り合いに頂きました・・。
083882501/12/22 13:41ID:OuqMrQhg
・・・。
では、
既にレンタルの掲示板がある場合、
それに機能をつけたすには、
そのレンタル掲示板のソース(PERL)に、
サブルーチンとして文字を付け加えれば
そのような効果を持つようになるのでしょうか?

お答え願えますと幸いです・・よろしくおねがいします。
0839名無しさん@お腹いっぱい。01/12/22 13:52ID:IddObTYJ
Perl で 64bit 整数をファイルに出力するにはどうしたらいいんでしょうか?

$x = 4294967296; # 0x100000000

のような値を、(ビッグエンディアンなら)

00 00 00 00 01 00 00 00

のようなバイナリファイルにしたいのですが。

pack 'Q', $x;
は "Invalid type in pack : 'Q' と言われてしまいます。。。
何かいい方法があったら教えてください。
0840 ◆4ABoneiQ 01/12/22 13:54ID:???
>>825
本読んでもわからない知識ならほかの買うかあきらめて掲示板削除しろ。
どうせ1年以上荒らされているなら来ているやつもいないだろうし
それともネタ?
どれにしてもすれ違いです。
084182501/12/22 13:58ID:oibAhbUr
>840さま

いや、今でも一日300人ぐらい来てくださっているので・・・。
では、サブルーチンについて教えて頂け無いでしょうか・・。
掲示板のソースに ( ) で囲んでサブルーチン
(つまり導入したいCGIのソース)を押し込むだけで
機能は追加されるのでしょうか・・?
宜しくお願いします。
0842 ◆4ABoneiQ 01/12/22 14:00ID:???
本で調べてください。
0843名無しさん@お腹いっぱい。01/12/22 14:02ID:oibAhbUr
本を見るとそのようなかんじで書いてあるのですが・・、
実際の意味がよく解りません・・・助けて下さい
お願いします。
0844名無しさん@お腹いっぱい。01/12/22 14:06ID:???
>>839
Qなんて無かったよね ^―^;
今環境無いからテスト出来ないんで、ここので試してみて
http://www.rfs.co.jp/sitebuilder/perl/func/03.html#pack
確か前にdouble吐けなくて悩んだ記憶が・・・・
0845名無しさん@お腹いっぱい。01/12/22 14:07ID:???
>841
貼り付けただけだと(多分)動かないよ ^―^;
0846名無しさん@お腹いっぱい。01/12/22 14:12ID:oibAhbUr
>845さま・・・ありがとうございます。感謝です・・(泣

例えば、 レンタル掲示板のソースが、
最後
exet;
で終わったします・・。そして、そのあとあるいは途中に、
( ) で囲んで、
その中に拾ったスクリプトを入れればいい・・じゃダメなのでしょうか?
よろしくおねがいします・・本当に困っているのです・・。
又、 ( ) とするべきなのか、{ }とするべきなのかも解らないのですが・・うう・・・。

お願いします。
助けて下さい・・おねがいします・・・。
0847名無しさん@お腹いっぱい。01/12/22 14:13ID:???
>>836
UG地方の特産品です。他にもNNTP、echo、telnet等など有り
これにログインマクロとか、ばればれフルコネクションの激遅スキャナとか
合わせたのが有るんだよ。 多分日本人だと思うが
0848Kusakabe Youichi 01/12/22 14:27ID:???
In article >>846, 名無しさん@お腹いっぱい。//846 wrote:

>exet;

エラーですね。

>その中に拾ったスクリプトを入れればいい・・じゃダメなのでしょうか?

動けばそれで良いのでしょう、プログラムは書いた通りにしか動きませんよ。

>( ) とするべきなのか、{ }とするべきなのかも・・

どちらでも動かないと思うので結果は同じでしょうね。

>お願いします。

多分サポート出来る限界を大きく超えているので無理ですね
0849名無しさん@お腹いっぱい。01/12/22 14:37ID:???
>>825
>>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
>849さま

ええと、法的にはどうにもなりません。
掲示板嵐は犯罪でもなんでもないので、(名誉毀損などなければ。)
それはムリな話です・・。
プロバイダに文句を言われればやめるので、あるいはアカ取り消しですし・・。
以後も、同様のユーザーをすぐにログを洗ってもらえるようになりますし・・。
アタックなんてできません・・。
今色々やっています・・またあとできます・・。同か宜しくお願いします皆様。
085283901/12/22 14:49ID:IddObTYJ
>>844
どうもです。いろいろ試して、

$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
http://www.777ch.net/mars/kboard.cgi

すみません。
今パッと取った掲示板なのですが、このサイトは
フリーで一切HTMLなどをいじっていません・・。無料BBSです。
簡単に作れてしまうサイトです。
この掲示板で、自分でCGIをつけたしたりすることは可能でしょうか?
教えて下さいお願いします。
0855名無しさん@お腹いっぱい。01/12/22 15:01ID:???
増殖してるし(w
0856Web板初心者スレ88601/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:???
>>852
$x に 64bit int 入れてちゃんと動いてる?
実は double になってるかもよ。
0859名無しさん@お腹いっぱい。01/12/22 23:34ID:t/VCgPdO
関数名つける時とか規則的に名前つける?
英語名にするとか
名前の前に_をいれるとか。どう?
ちなみに先頭に_をいれとけば予約語とかぶる事って無いですよね?
0860名無しさん@お腹いっぱい。01/12/23 00:58ID:MEqShOBi
サブルーチン内のreturn関数について訊きたいです。
あるサブルーチンで出た結果を$resultに代入したとします。
これは必ず
return $result;
としなければならないのでしょうか。
returnの使い方がいまいち分かりません。
どういう時に使うもの/使わなければならないものものなのでしょうか。

perldocをみてもよく分かりませんでした・・・。
宜しくお願いします。
0861age01/12/23 01:01ID:kSQE2xUF
ageruhituyouganaikedo
0862名なひ01/12/23 02:13ID:M1oj4o+A
>>860
Perlのサブルーティンは戻り値返さなくてもよかったと、思う。
return();省略したら最後に評価した式が勝手に戻り血にできる、ようなきがした。
0863名無しさん@お腹いっぱい。01/12/23 03:01ID:???
>>859
規約だけ守れば好きなようにやればいい
コーダのレベルは大体この辺で分かるけどな(笑
0864名無しさん@お腹いっぱい。01/12/23 03:45ID:???
識別子に英語を使ったつもりでアホなスペルミスをおかすよりは、
ローマ字にしておくほうがまだ救いがある。
086585901/12/23 04:34ID:???
>>863
やっぱ熟練さん達はそうなんですか・・・。
経験値積むしか無いようですね。
>>864
自分の場合怪しいのは辞書チェックですw
0866名無しさん@お腹いっぱい。01/12/23 15:31ID:cDgNamdE
foreach (<IN>) {
  print $_;
}
と、
print <IN>;
ってメモリ消費量違ったりするんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています