探検


Perlなんですが・・・

1初心者
垢版 |
01/09/11 15:56ID:9.SKwdns
まったくの初心者なんですけど
Perlの質問に答えてみようと思います

とりあえず my は使ったほうがいいみたいです
よろしくお願いします
01/09/11 15:59ID:???
━━(゚Д゚;)━━
01/09/11 16:09ID:???
━━(゚Д゚;)━━
4初心者
垢版 |
01/09/11 16:11ID:9.SKwdns
>>2-3さん
そんなに驚かないでください。
01/09/11 16:26ID:???
ちょっとワロタよ、一緒に勉強しよー♪
でも、初心者師ねな人にはウザイからサゲでこっそりヤローヨ(・∀・)
01/09/11 16:39ID:???
----------------ネタスレ終了----------------
7初心者
垢版 |
01/09/11 17:02ID:???
>>5
はい、勉強します。たまには上げさせてくださいね
>>6
一つも質問に答えてないのに終了なんてイヤです
01/09/11 17:21ID:???
そんなに質問に答えたいなら質問スレに投稿された質問に答えてればいいだろうが。
それでも物足りないなら他のBBSに投稿されている質問に答えてやれ。

そうすることがこの板の住民にとってもアンタにとっても困っている厨房にとっても最も幸いだ。

-完-
9初心者
垢版 |
01/09/11 18:12ID:???
逆ギレしてみます

オイこら、初心者だからってなめてんじゃねェよ
答えってやるって言ってんだ
ゴタゴタぬかす前に早く質問晒せよヴォゲ!
01/09/11 18:14ID:???
cryptに使われている暗号化アルゴリズムの仕組みを教えてください
01/09/11 18:18ID:???
hashテーブルはどう実装されてるんだよ
教えろや(´Д`)コルァ
12  
垢版 |
01/09/11 18:30ID:???
オブジェクト指向に付いて簡単に教えて下さい。
13名無しさん@お腹いっぱい。
垢版 |
01/09/11 18:32ID:liJMw8bE
みんないぢわるだなぁ…
01/09/11 18:38ID:???
これがPerlhackerのネタでガリガリ答えてくれたら最高のネタスレなんだけどな W
01/09/11 18:41ID:???
私のような初々しい人でも使える可逆暗号化ライブラリ作れ
01/09/11 18:46ID:???
>>15
可逆暗号の基本として排他的論理和(xor)を使うのがあるけど
01/09/11 19:11ID:???
XSを使ってみたいのですがよく分かりません。
教えてください。
18初心者
垢版 |
01/09/11 19:42ID:9.SKwdns
>>10
libcryptの実装によって暗号化アルゴリズムは違うようです。
crypt(3)を呼び出してるだけのようですのでPerlとは直接関係ないです。

>>11
ソースを読んでくださいそれが実装です。
perldoc perlguts も参考になるかもしれません。

>>12
範囲が広すぎです。
Perlでオブジェクト指向を実装するには?ってことですか?
オブジェクト指向の概念ということだとスレ違いです。

>>15
すでにあるようです。
http://search.cpan.org/Catalog/Security/
ここでCrypt:: で始まるモジュールで好きなの選んでください。
使い方がわからなかったらまた聞いてください。

>>17
すみません。
Cはあまりやったこと無いのでxsについてはあまり知りません。
perl perlxs が参考になりそうです。
01/09/11 19:47ID:???
初心者に対してperldocを読めとはなんて素晴らしい教え方だろう。
感動した!

------------------------------終了------------------------------
01/09/11 19:54ID:???
taintを(パターンマッチで)取り除いたデータを
もう一度taintし直すことはできますか?

おしえて初心者さま
21初心者
垢版 |
01/09/11 20:07ID:???
>>20
$safe = 'test';
$tainted = `echo $safe`;
こんな感じでどうですか?
2220
垢版 |
01/09/11 20:16ID:???
>>21
おお、簡単なことだったんですね。
もしかして初心者さんって本物の
Perlハカー?
23初心者
垢版 |
01/09/11 20:21ID:???
taintを取り除く必要がないのなら、
use re 'taint'; も使えます。
マッチさせた値のtaintをそのまま維持するようです。
01/09/11 20:27ID:???
おもしろいぞ 頑張れ>初心者
2520
垢版 |
01/09/11 20:41ID:???
>>23
今日初めて
man re
してみました。勉強になります。

ただ、今回は一旦evalする必要がある
ので、taintは除去しなきゃいけませ
ん。

いずれにせよありがとうございます
>>初心者さま
26初心者
垢版 |
01/09/12 19:06ID:y/zpkkrk
ひそやかなる怒りと悲しみを胸に。

質問してください。
01/09/13 01:01ID:???
perlで作ったcgiをwebで動かしたときにトランザクション制限はどの程度でしょうか?
例えばほぼ同時にperlが動いた場合などどの程度同時起動すると止まるんでしょうか
01/09/13 02:32ID:???
>>27
Apache の MaxClients ディレクティブの設定によって、
CGI起動のプロセス数は制限されるでしょう。
その前に色々なシステムのlimit、
たとえばメモリやファイルのオープン数、に達すれば当然止まるでしょう。
いずれにせよ、環境次第です。
29初心者
垢版 |
01/09/13 02:33ID:skA46.9M
すみません。28=初心者です。
30_gunzip
垢版 |
01/09/13 06:51ID:???
>例えばほぼ同時にperlが動いた場合

Configureの途中、libperl.soのダイナミックリンクを利用する
方を選択すると、実行モジュールのサイズが小さくなるし、
複数のperlインタプリタでイメージを共有できるので、
結果として,mmap()コールで実行ファイルをメモリににマッピング
する際のオーバヘッドの減少、ディスク/スワップ領域の利用効率の向上、
物理メモリの節約等のメリットがあるね。
(....デフォルトでは実行速度向上のために利用しないようになっているけど)
01/09/13 09:22ID:???
ネタスレ臭かったのにがんばってるね。
32_gunzip
垢版 |
01/09/13 15:51ID:???
>>11
Perlのハッシュは分離連鎖法(separate chaining)で、ハッシュ値が衝突した場合リンクリストで繋いでいく方式。
詳しくはhv.cを読めば分かるよ。

#ちなみに、Perl5.7.2からはハッシュ関数が変更されています。
3327
垢版 |
01/09/13 17:12ID:???
>>28-30
ありがとうございます。詳しい初心者さんと_gunzipさん
若干調整できるものの環境次第と覚えておきます。難しいなぁ。
34名無しさん@お腹いっぱい。
垢版 |
01/11/07 02:11ID:szSo57Rp
Win32::DDEに関するドキュメントはどこにあるのでしょうか。
できれば日本語がよいのですが。
スレ違いですが、DDEに関して教えてくれるスレ知りませんか?
35初心者
垢版 |
02/01/07 23:41ID:uQai8xGp
久々にアゲてみたり
02/01/08 22:29ID:???
いいぞ〜初心者〜〜>(・∀・)
02/01/09 17:51ID:???
evalを使っているcgiへの具体的な攻撃方法を教えて下さい。
また、どうしてもevalを使う必要があるときの、
攻撃回避方法も教えて下さい。
02/01/09 18:00ID:???
evalがどう言うものかを先に僕に教えて下さい。
よろしくお願いします。
02/01/09 18:04ID:???
えばる。
02/01/09 18:57ID:???
Perlで電気ストーブを作るにはどういう記述が必要なのかね?
俺に教えてみたまえ。Perlという言語はそもそも電気ストーブの開発の為に
考案された言語なのだよ。つまりこの質問に答えられないようならPerlについて何も理解していないということだ。
41名無しさん@お腹いっぱい。
垢版 |
02/01/09 18:58ID:bJedpWRu
パールについてお聞きしたいです。
メールアドレスをパラメータにしてCGIに渡したいのですが、
このメールアドレスを暗号化した状態(つまり見ても分からない)で
CGIに渡したいです。 それで渡した後、暗号を複合化して
メールアドレスを使いたいです。
CRYPT関数は複合化できないし・・・
どうしたらよいのでしょうか?
02/01/09 19:02ID:???
>>41 複合化できるように暗号化する
02/01/09 19:07ID:???

ヤフーオークションで、幻の人気商品、発見!!!

今は無き「コピーガードキャンセラー」↓
http://page5.auctions.yahoo.co.jp/jp/auction/e5292701

ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
44名無しさん@お腹いっぱい。
垢版 |
02/01/09 19:07ID:bJedpWRu
<<41
あの・・具体的に教えていただけると
ありがたいのですが・・・
関数とかないのですか? 
02/01/09 19:18ID:???
>>44
http://search.cpan.org/doc/DPARIS/Crypt-DES-2.03/DES.pm
46名無しさん@お腹いっぱい。
垢版 |
02/01/09 19:31ID:bJedpWRu
>>45
ありがとうございます
my $key = pack("H16", "0123456789ABCDEF");
my $cipher = new Crypt::DES $key;
my $ciphertext = $cipher->encrypt("plaintex"); # NB - 8 bytes
print unpack("H16", $ciphertext), "\n";

exampleにあったこれでしょうか?
これで0123456789ABCDEFの所にメールアドレスをいれて暗号
化するのですか?
47初心者
垢版 |
02/01/10 14:45ID:h2cHbHUk
>>38
evalは引数をコードとして実行する関数です。
例えば、
$code = q{ $foo = 'bar'; };
eval $code;
だと$foo に'bar'が代入されます。
実行するコードを実行時に変化させたい場合によく使います。
ブロックを引数にするevalもあって
eval { $foo = 'bar'; }
はさっきのコードと同じことをしますが、実行するコードは変えられません。
何に使うのかと言うと、evalで実行時エラーをトラップできるので
例外処理によく使われます。
>>37
単純な例で例えば、CGIのクエリーをそのままevalに渡してしまう例、
use CGI;
$q = CGI->new();
eval $q->query('code');
とすると、攻撃者は任意のコードを実行できてしまいます。
回避方法としては汚染チェックをきちんとすることです。
それさえやっていれば、別にevalの使用を恐れることはないでしょう。
02/01/10 14:48ID:???
>>47
おお!ありがとう初心者たん。
49名無しさん@お腹いっぱい。
垢版 |
02/01/10 18:51ID:iKOVjCBf
>>46
plaintexの方ね。
02/01/10 20:48ID:???
アップローダーがとても重いのですが軽くする方法はありませんか?
02/01/10 21:01ID:???
>>50
.htaccessにこう記載する。
<Files *.cgi>
order deny,allow
deny from all
</Files>
02/01/10 21:03ID:???
ハァ??
きしょっ!
02/01/10 23:42ID:???
汚染チェックってなんですか?
02/01/11 00:00ID:???
>>50
痩せろ
55名無しさん@NEmacs
垢版 |
02/01/11 01:49ID:fZtnJrfW
>>54
アスカ様ハァハァ。

>>53
http://www.google.co.jp/search?q=Perl+%89%98%90%F5%83%60%83F%83b%83N&hl=ja
56初心者
垢版 |
02/02/01 23:49ID:GSMdD5I4
初心者パワーをなめちゃぁいかん。
02/02/02 11:07ID:???
>>56
上げただけじゃない・・・w
02/02/03 11:44ID:???
画像連結にfly使ったんですが、Unisysに特許料払わんとだめですか?
59名無しさん@お腹いっぱい。
垢版 |
02/02/03 11:53ID:6O2qk++F
はい。私は毎月50万円払っています。
02/02/03 15:25ID:???
なんで
”名無しさん@お腹いっぱい”
なんですか?
02/02/03 17:22ID:???
>>60
「名無しさん」を変えてないからだよ。
62名無しさん@お腹いっぱい。
垢版 |
02/02/04 03:23ID:sAx7lHcm
>1
perlってなんですか?
63初心者
垢版 |
02/02/04 04:03ID:g/ay00Kk
>>62
Perlで書かれたスクリプトを実行するコマンドです。
64名無しさん@お腹いっぱい。
垢版 |
02/02/04 09:42ID:t9Gb2AU1
my及びlocal関数での局所化の必要性について教えて下さい。
65名無しさん@お腹いっぱい。
垢版 |
02/02/04 09:52ID:t9Gb2AU1
それとついでにここの1さんは少なくとも中級者以上の実力はあると思うのです。
まぎらわしいのでHNを中級者に変えません?
66名無しさん@お腹いっぱい。
垢版 |
02/02/04 11:49ID:fnAmBNHz
こんにちわ、perlの事で質問させてください。
以下のスクリプトですが

 #! /usr/bin/perl  # お約束
 # 私のスクリプトそのままです(編集はしてません)
 $TMP = 10 ** 10;  # $TMP に10の10乗を代入
 $X = 10;  # $X に10を代入
 while ($TMP)  # $TMPが0になるまで繰り返し処理
  {$A = --$TMP % $X;  # $TMPの値を-1し、$Xの剰余を$Aに代入
  print "$A $TMP \n";}# 処置した値を画面に表示


上記のスクリプトですが、表示される$Aの値が変化しません
5 999999999
5 999999998
5 999999997 ......

$Xの値が1だと$Aは0で固定
$Xの値が2だと$Aは1で固定
$Xの値が3だと$Aは0で固定
$Xの値が4だと$Aは3で固定
$Xの値が5だと$Aは0で固定
$Xの値が6だと$Aは3で固定
$Xの値が7だと$Aは3で固定
$Xの値が8だと$Aは7で固定
$Xの値が9だと$Aは3で固定

私の知識が正しければ、$TMPの値を$Xで割った余りの数値が表示され
1行ごとに値が変更されると思うのですが。。。

どこか間違っているのでしょうか
識者の皆様、ご回答をお願いします
02/02/04 12:00ID:???
>識者の皆様、ご回答をお願いします
「皆様」に聞きたいなら初心者スレに書け。
ここは>>1に聞く為のスレだ。

>1行ごとに値が変更されると思うのですが。。。
固定されないが。
68初心者
垢版 |
02/02/04 13:31ID:g/ay00Kk
>>64
必要性と言われても・・というのが正直なところです。
何らかの必要性があるからmyやlocalが存在するのでしょう。

一般的にグローバル変数は少ない方がいいとされています。
ソースを他人に見せるときや、昔書いたソースを見直すとき、
グローバル変数が無い方が理解しやすいです。

>>65 初心忘るべからず。

>>66
Perlのバージョンはいくつでしょう?
http://www.perldoc.com/perl5.6.1/pod/perldelta.html#Core-bug-fixes
の3項目、
Integer modulus on large unsigned integers
sometimes returned incorrect values.
と言うわけで、Perl5.6.0以降を使いましょう。
6966
垢版 |
02/02/04 13:53ID:???
>>68 :初心者様
ご回答ありがとうございました
確認してみたところ、確かに、バージョンが古すぎました
(5.005_03)

$TMPの値を10**10 から 10**9 に変更して実施してみたところ
正常に動作することを確認しました
ご回答、ありがとうございました
70名無しさん@お腹いっぱい。
垢版 |
02/02/04 20:08ID:+YaLpde/
>>66
老婆心ながら
変数名を3文字に統一しないなら「TMP」は「TEMP」にした方が良いね。
あと、66のスクリプトなら「$A]と「$X]の変数名は逆にしようよ

一番良いのは
$TEMP => $I(カウント変数)
$A    => $X(計算値変数)
$X    => $A(定数)

細かいけど、癖にしてたほうが後で役に立つよ
02/02/04 20:11ID:???
物凄く余計なお世話だ  (笑
02/02/04 20:39ID:???
正直
自分の知ってる範囲で決めた命名法ほど迷惑なものは無い

# 人に押し付ける事なかれ
73名無しさん@お腹いっぱい。
垢版 |
02/02/04 20:40ID:nACYCDdm
しかし正論だ。(笑
02/02/04 23:04ID:???
$iは少し同意。
暗黙の了解化してるな。

$i使うのがカッコイイとか思って使ってきたけどね。
02/02/04 23:18ID:???
意外な落とし穴は$aと$b
こないだこれではまりそうになった。
02/02/04 23:21ID:???
>>75
と、言うと?
$1みたいに何か意味のある変数?
02/02/04 23:30ID:???
>>76 sort で使われるね。
02/02/04 23:33ID:???
>>77
勉強になります。

sortってuniqの前準備に、

@list = sort(@list);

でしか使ったこと無いから知らなかったです。

sortも独自の書式使いますね。

sort{a <=> b}こんなん。
79名無しさん@お腹いっぱい。
垢版 |
02/02/05 01:29ID:ucr4R94I
>>75
記憶違いだったら本当にごめん
sort文で使用される$a,$bは、完全にsort文だけの中で仮想変数で
外部の変数とは別扱いではなかったでしょうか?

初心者なんで激しいはツッコミは勘弁して下さい
8079
垢版 |
02/02/05 01:30ID:???
初心者以前に 日本語が変
02/02/05 02:06ID:???
自分ツッコミを覚えた!
02/02/05 02:19ID:???
>81
パパパパンパンパッパー
79はレベルがあがった!
83615
垢版 |
02/02/05 02:55ID:???
$a ってreadonlyじゃ無いから、間違えた時気付きにくいんだと思います

use strict;
$a = 100; #エラー出ない

これでModification of read-onlyが出ないと場合によっては嵌る事に
なるのかと
Perlはstrict+wスイッチが大前提だから、そんなに神経質になる程じゃ
ないと思いますが。
02/02/05 02:56ID:???
何かクッキー残りまくってる  (鬱
615は無視してくだされ。。
85617 (←違う)
垢版 |
02/02/06 18:40ID:hdNADrgP
system関数を使用せずに
特定のLAN接続端末のIPアドレスを指定して
そのMACアドレスを知る方法が知りたい、教えれ

これは避けたいです
 system "traceroute $IP_ADDR";
 @MAC_ADDR = `arp $IP_ADDR`;
02/02/06 20:04ID:???
自分でarpと同じ事すれば良し
02/02/06 22:13ID:???
arpって何層のプロトコルでしたっけ?
データリンク?IP使うからネットワーク?
socketは使えないからポート直接操作になるんでしょうか?
8885
垢版 |
02/02/06 22:24ID:hksal3H7
>>87

arpは、確か操作端末のスタックメモリーの内容を表示するだけの命令だったと思います
直前に、目的のマシンとTCP/IP通信をしないと情報が得られませんし・・。
02/02/06 22:31ID:???
なるほど、TCP/IPで通信するにはMACアドレスを知っている必要がある。ならそのとき使った情報を見ればよいってことで良いでしょうか。
親切にありがとうございました。勉強し直してきます。
90@@@@@@@
垢版 |
02/04/21 09:12ID:???
@@@@@@@@@@@@@@
レスを投稿する


ニューススポーツなんでも実況