Perlについての質問箱 32箱目
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2007/08/13(月) 18:01:530809デフォルトの名無しさん
2007/10/02(火) 04:37:54$num{'A'} = 4
と言うようにハッシュに対応する数値を入れて、文字毎に数値を取り出して計算する
0810デフォルトの名無しさん
2007/10/02(火) 07:33:390811デフォルトの名無しさん
2007/10/02(火) 07:41:29文法は一つしかないんだから、全部覚えればいいだけの話だよ。
頭固すぎ
0812デフォルトの名無しさん
2007/10/02(火) 08:36:41仕事が嫌なら、地面で穴を掘っている周辺で腕をくるくる回す簡単なお仕事に
転職すればよろし。
0813デフォルトの名無しさん
2007/10/02(火) 10:00:47> こういうものは、なれるもんなんですかね?
慣れるか否かという点にもっとも大きく関係するファクターは、あなたの知的能力。
0814デフォルトの名無しさん
2007/10/02(火) 12:09:28Python やらないか?
0815デフォルトの名無しさん
2007/10/02(火) 12:20:150816デフォルトの名無しさん
2007/10/02(火) 15:29:52向いてないんじゃないかな・・・
0817デフォルトの名無しさん
2007/10/02(火) 15:44:38お前はなれないだろう。
0818デフォルトの名無しさん
2007/10/02(火) 20:43:134が実体?
0819デフォルトの名無しさん
2007/10/02(火) 21:13:270820デフォルトの名無しさん
2007/10/02(火) 22:22:30でHTMLタグの属性を取得を試みたのですがうまくいかねぇっす。
後方参照の否定マッチってどうやってやるの?
0821デフォルトの名無しさん
2007/10/02(火) 23:52:120822デフォルトの名無しさん
2007/10/02(火) 23:57:40HTML::Parserとか使えば?
0823デフォルトの名無しさん
2007/10/03(水) 00:20:23質問の仕方が悪かったです。
HTMLの話は抜きで正規表現で後方参照で否定マッチする方法はありますか?
#Web::ScraperやHTML::Parser、HTML::TreeBuilderの使用の検討はしましたが
#タグにidやclassが振ってなくて構造体でのスクレイピングが行いにくいので正規表現でやってます。
0824デフォルトの名無しさん
2007/10/03(水) 00:26:48じゃあかんの?
0825デフォルトの名無しさん
2007/10/03(水) 00:33:48HTMLならそれでOKっすね。
ありがとうございます。
後方参照の否定マッチってできないもんですかね?
0826デフォルトの名無しさん
2007/10/03(水) 00:39:070827デフォルトの名無しさん
2007/10/03(水) 18:13:570828デフォルトの名無しさん
2007/10/03(水) 21:24:25どうすればいいんでしょうか?
例えばフォームからSJISの「あ」という文字を取ると「82A0」
という文字列が取れるんですが
これを16進数の数値として扱って10進数に変換ってどうやればいいんでしょう?
ord関数使うのが一般的でしょうか?
0829デフォルトの名無しさん
2007/10/03(水) 21:52:57http://mikeneko.creator.club.ne.jp/~lab/perl/numerical_transform/
0830デフォルトの名無しさん
2007/10/03(水) 21:59:01ありがとうございます
バイナリ→10進数の変換でいけるのかな?
やってみます
0831デフォルトの名無しさん
2007/10/03(水) 22:21:22できませんでした…orz
そもそもポストで取ってるので
文字コードが文字列で入ってる状態です
「あ」で「%82%A0」です
この「%82%A0」を数値に変換したいんですが
どうすればいいんでしょ?
例えばCならintで宣言した変数にぶっこんだら勝手に数値として扱ってくれますが
perlだとどうすればいいのやら…
ためしに「%82%A0」+「%82%A0」みたいなことすると「%82%A0」は数字の1として扱われてるよう
「あ」でも「い」でも同じ数値の1
0832デフォルトの名無しさん
2007/10/03(水) 22:36:44$hoge="「%82%A0";
$hoge10=~ s/%//g;
$hoge100 = hex($hoge10);
%がよけいでした、これ抜いたら普通に16進数として扱ってくれました
0833デフォルトの名無しさん
2007/10/03(水) 23:07:110834デフォルトの名無しさん
2007/10/04(木) 01:07:590835デフォルトの名無しさん
2007/10/04(木) 08:09:09後方参照の否定マッチってできないもんですかね?
0836デフォルトの名無しさん
2007/10/04(木) 17:21:08Postgres のテーブル内に update という名のカラムがあるとまずいのでしょうか?
Column 'update' in My::Class::Hoge clashes with built-in method at 〜
カラム名を変えないとだめですか?
0837デフォルトの名無しさん
2007/10/04(木) 18:11:57カラム名変えてやってみろよクソが
0838デフォルトの名無しさん
2007/10/05(金) 09:38:35> Column 'update' in My::Class::Hoge clashes with built-in method at 〜
>
> カラム名を変えないとだめですか?
Class::DBI の _make_method から出てるエラーですね。
update メソッドなのか、カラム名から生成されたアクセサなのかわからなくなるので、
カラム名変えるべきなのかも。
0839デフォルトの名無しさん
2007/10/05(金) 16:27:46自分で気づいているなら、なぜ自分で試さない?
このスレの住人に試させてオイシイとこだけ持ていくつもりか?
0840デフォルトの名無しさん
2007/10/05(金) 16:45:17知っていたら教えていただけないでしょうか
例えばRGBの赤(ff0000)があるかどうか判断するような関数がないものでしょうか
0841デフォルトの名無しさん
2007/10/05(金) 16:51:380842デフォルトの名無しさん
2007/10/05(金) 16:54:06見つかった場合にその値が4バイト境界にまたがっていなければ (4の倍数で割れる位置にあれば) 指定色の発見
で良いかと思います。
パレットつきならパレットに対してサーチすりゃいいだけなので、その画像がフルカラーなのかパレット付きなのか
チェックするのが最初の手順ってことですかね
0844836
2007/10/05(金) 17:39:07既存のプログラムに影響があるので、できれば Postgres のテーブルの変更は
避けたかったのですが、やむを得ないようですね。
ご回答ありがとうございました。
0845デフォルトの名無しさん
2007/10/05(金) 18:18:090846デフォルトの名無しさん
2007/10/05(金) 20:21:07自作自演かっこ悪い
0847デフォルトの名無しさん
2007/10/05(金) 20:30:040848デフォルトの名無しさん
2007/10/05(金) 20:36:250849デフォルトの名無しさん
2007/10/05(金) 21:26:120850デフォルトの名無しさん
2007/10/05(金) 21:34:500851デフォルトの名無しさん
2007/10/05(金) 22:58:37http://search.cpan.org/~tmtm/Class-DBI-v3.0.17/lib/Class/DBI.pm#Changing_Your_Column_Accessor_Method_Names
0852デフォルトの名無しさん
2007/10/05(金) 23:03:49変な文字列が詰め込まれて帰ってくるんだけど
うちだけ?じかに値渡すとなんとも無いのだが。
0853デフォルトの名無しさん
2007/10/05(金) 23:10:20my $str = '';
ってやってるのと
my $str;
は中身違うよ
0854デフォルトの名無しさん
2007/10/05(金) 23:39:58もしかしたら途中でundef帰ってたかもしれない
ありがとう
0855デフォルトの名無しさん
2007/10/06(土) 00:03:18$bankgold += 1000; &bankwrt;
(※ここでは$bankgoldに50000が代入されているとする)
$bankgoldという変数に1000を+し、&bankwrtを実行するというものなんだが。
しかし、これだと何故だか+した数値(1000)になってしまう。
俺の理想では$bankgold(50000)に+1000しているから51000になってほしいのだが、
なぜ、+した数値になるのかがわからん。
因みに&bankwrtの中身は
open(BANK,">********");
flock(BANK,2);
print BANK "$bankgold";
close(BANK);
}
このサブルーチンを実行すれば最新(その都度、代入された)$bankgoldが
*******ファイルに保存される。
(************は例で実際にはこうは書いていないです)
0856デフォルトの名無しさん
2007/10/06(土) 00:11:13デバッグしろよ。
0857デフォルトの名無しさん
2007/10/06(土) 00:20:180858デフォルトの名無しさん
2007/10/06(土) 00:26:24gold じゃなくて silver に変えればいけると思います
…って書くと本当にやりそうだなこの人
0859デフォルトの名無しさん
2007/10/06(土) 07:51:530860デフォルトの名無しさん
2007/10/06(土) 08:46:02今では毎晩女の子とエッチな夜を過ごしています。
0862デフォルトの名無しさん
2007/10/06(土) 10:34:39こんなのカンタン。1行目に
$bankgold = 50000;
って書いてごらんよ。
>(※ここでは$bankgoldに50000が代入されているとする)
どこにも代入してないじゃん。
0863デフォルトの名無しさん
2007/10/06(土) 12:39:48ほっほんとうですか!?
親切にありがとうございます!!!
これでいいか?
>>862
ここでは代入してないけど、別ファイルで代入してるから、
一応、50000になっていると考えてくれ。
0864デフォルトの名無しさん
2007/10/06(土) 12:59:460865デフォルトの名無しさん
2007/10/06(土) 13:51:050866デフォルトの名無しさん
2007/10/06(土) 13:52:130867デフォルトの名無しさん
2007/10/06(土) 13:53:21原因は、
$bankgoldに50000を代入していない
+=1000する前か、した後でbankwrt()を呼び出す前に値を書き換えてしまっている
bankwrt()内のopenに失敗している
のいずれかでしょ。
グローバル変数を使って、あちこちで扱うと、途中で何しているか自分でも分からなくなるので、
値渡しのサブルーチンを作ると吉。
use strict;
my $bankgold = 50000;
$bankgold += 1000;
bankwrt($bankgold);
sub bankwrt {
my $bankgold = shift; ### 受け取った引数を…
open(BANK,">********") or die $!; ### 必ずエラートラップすべし
flock(BANK,2);
print BANK $bankgold; ### …ただ書き込むだけ!
close(BANK);
}
0868デフォルトの名無しさん
2007/10/06(土) 13:54:43だがuse warningsもほしい。
0869デフォルトの名無しさん
2007/10/06(土) 14:06:560870デフォルトの名無しさん
2007/10/06(土) 19:42:2816bitの秘密鍵はどうやって作ればいいんだ?
だいたい、bitがどのくらいなのかもよく分からん俺なんだけど。
0871デフォルトの名無しさん
2007/10/06(土) 19:47:400872デフォルトの名無しさん
2007/10/06(土) 19:49:06ああ、ゴメン そう16byte
どうやって作るの?
0873デフォルトの名無しさん
2007/10/06(土) 20:01:55#! /usr/bin/perl
# rc6.pl
use Crypt::RC6;
my $key = "";
my $cipher = new Crypt::RC6 $key;
my $plaintext = "This is apple.";
my $ciphertext = $cipher->encrypt($plaintext);
print "$ciphertext";
で、エラーは
Error: key must be 16, 24, or 32 bytes in length. at rc6.pl line 8.
0874デフォルトの名無しさん
2007/10/06(土) 20:02:300875デフォルトの名無しさん
2007/10/06(土) 20:10:190876デフォルトの名無しさん
2007/10/06(土) 20:30:20kwsk please
0877デフォルトの名無しさん
2007/10/06(土) 20:33:26my $key = '';
for(my $i = 0; $i++; $i < 16){
$key .= pack("C", rand(256));
}
0878デフォルトの名無しさん
2007/10/06(土) 20:36:15if (open my $fh, '<', '/dev/urandom') { read($fh, $key, 16); }
0879デフォルトの名無しさん
2007/10/06(土) 21:12:25thx
どっちも、それぞれ書いて、$keyだけprintしてみたんだけど
877のは、何にもprintされなくて、878のは、文字化けっぽい(?とかが入ってる)のがprintされたよ・・・
どうしたら良いのか
0880デフォルトの名無しさん
2007/10/06(土) 21:21:20> どうしたら良いのか
勉強する。それしかない。
0881デフォルトの名無しさん
2007/10/06(土) 21:32:5216bytesがどんなものかだけ、教えてくれないか
0882デフォルトの名無しさん
2007/10/06(土) 21:39:010883デフォルトの名無しさん
2007/10/06(土) 21:48:080884デフォルトの名無しさん
2007/10/06(土) 21:55:37君の最後の一文「教えてくれないか」 が16bytesだ。さては狙ったな
0885デフォルトの名無しさん
2007/10/06(土) 22:09:50で、そうすると今度は
Error: block size must be 16 bytes.
ってエラーが・・・
0886デフォルトの名無しさん
2007/10/06(土) 22:12:590887デフォルトの名無しさん
2007/10/06(土) 23:03:400888デフォルトの名無しさん
2007/10/06(土) 23:08:52$plaintext = "A" x 0x10;
にしたらエラー出んだろ。
0889デフォルトの名無しさん
2007/10/07(日) 13:00:160890デフォルトの名無しさん
2007/10/07(日) 13:01:22なるほど、アルファベット16文字ならOKだな
んでも、これで、利用価値あるんだかどうなんだか
0891デフォルトの名無しさん
2007/10/07(日) 13:25:35/ニYニヽ
(ヽ /( ゚ )( ゚ )ヽ /)
(((i ) /::::⌒`´⌒::::\ ( i))) でっていうwwwwwwww
/∠_| ,-)___(-, |_ゝ \
( ___、 |-┬-| ,__ )
| `ー'´ /´
| /
0892デフォルトの名無しさん
2007/10/07(日) 13:28:13WebProgのPerlスレに統合しちゃった方がいいと思うよ。
0893デフォルトの名無しさん
2007/10/07(日) 13:33:020894デフォルトの名無しさん
2007/10/07(日) 14:03:06回答者も、どうでもいいことで揚げ足取ってたり
問題解決にも何にもなってない返答して得意になってる奴の返答が多かったりで
昔と比べるとかなり程度が低くなってるのは否めないな、
というのがROMってる俺の感想。
0895デフォルトの名無しさん
2007/10/07(日) 14:23:490896デフォルトの名無しさん
2007/10/07(日) 14:37:250897デフォルトの名無しさん
2007/10/07(日) 14:42:000898デフォルトの名無しさん
2007/10/07(日) 14:53:19あなたの知性を貸してください
0899デフォルトの名無しさん
2007/10/07(日) 15:27:16質問者が多過ぎるのが問題。
0900デフォルトの名無しさん
2007/10/07(日) 16:59:59【Perl上級者コーナーPart01】
http://pc11.2ch.net/test/read.cgi/php/1024741312/l50
0901デフォルトの名無しさん
2007/10/07(日) 18:40:010902デフォルトの名無しさん
2007/10/07(日) 20:17:10Gmailのfeedの認証はBASICだとダメなの?
LWP::UserAgentで、BASIC認証してみたけどエラーが返ってきた。
0903デフォルトの名無しさん
2007/10/08(月) 00:17:150904デフォルトの名無しさん
2007/10/08(月) 01:28:480905デフォルトの名無しさん
2007/10/08(月) 01:46:410906デフォルトの名無しさん
2007/10/08(月) 05:23:45裸の王様がいっぱい居そうなスレだなww
0907デフォルトの名無しさん
2007/10/08(月) 06:26:430908デフォルトの名無しさん
2007/10/08(月) 07:44:10レス数が900を超えています。1000を超えると表示できなくなるよ。