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

Perlコーディング初心者質問スレ Part 61

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/06/05(土) 21:11:10ID:???
Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

お勧めサイトは >2 以降

前スレ http://pc11.2ch.net/test/read.cgi/php/1251989472/
0484nobodyさん2010/10/04(月) 18:35:22ID:???
>>483
おいおい、どうしておれがXSSについて調べる必要があるんだい?
0485nobodyさん2010/10/04(月) 18:46:52ID:???
そうね。
XSSより前に、本を読む練習からしないとね。

のんたん何かどうだ?
0486nobodyさん2010/10/04(月) 18:49:24ID:???
? は ?に続く文字が見つかった時点までマッチ

と思ってりゃいいよ
0487nobodyさん2010/10/04(月) 18:51:11ID:???
バーバーパパの方がオススメだろ
0488nobodyさん2010/10/04(月) 18:51:43ID:???
千秋ディスってんじゃねーぞ子ら
0489nobodyさん2010/10/04(月) 18:53:49ID:???
>>485
どうしておれが本を読む練習をしないといけないんだね?
0490nobodyさん2010/10/04(月) 19:40:20ID:???
スルーしろよ……耐性足りんぞ
0491nobodyさん2010/10/04(月) 22:30:47ID:???
はいはいリファレンスはポインタみたいなもんだよ
ひとりで完璧に安全なプログラム作れる天才さんはこれで理解したろ?
さっさと糞脆弱なショッピングカートでもなんでも作ってなさいってこった
0492nobodyさん2010/10/04(月) 22:56:59ID:???
ちげーよバカw
0493nobodyさん2010/10/04(月) 23:19:29ID:???
いやまあその名の通り参照なんですけどね
0494nobodyさん2010/10/05(火) 00:02:50ID:???
なんかこう...教えてるつもりの奴が馬鹿しかいなくなった。
0495nobodyさん2010/10/05(火) 00:30:28ID:cRXiRLz+
プロの熟練者さんはどのレスとどのレスが同一人物なのかわからなくなってるようで。
さすがですね。プ
04964702010/10/05(火) 01:31:17ID:???
>>473-474
よく分かりました。
なにを勘違いしていたのかわかりました。
(qwとqqを書き間違えたのはご愛嬌で)
0497nobodyさん2010/10/05(火) 03:45:37ID:???
毎晩このスレを見るのが楽しみになりそう

バカな人間を見て、自分はこうならないようにと頑張れる

・知ったかぶりをしない
・わからないことは素直に聞く
・人に言われたことは、疑わずに調べる
・自分の知識を過信しない
・必死にならず冷静に
・日々勉強をする
・分厚い本を読む
・自演はばれないようにする

これは肝に銘じておこう
0498nobodyさん2010/10/05(火) 07:39:14ID:???
出来ればコテつけてほしい
NG出来ない
0499nobodyさん2010/10/05(火) 08:55:44ID:???
読まなきゃいい
0500nobodyさん2010/10/05(火) 12:33:50ID:???
こんなことを言われました

Perl使いが何十億人もいるのに今からPerlを覚える必要はない
やるならPythonかRubyやれ

本当ですか?
0501nobodyさん2010/10/05(火) 12:56:06ID:???
うそです。

> Perl使いが何十億人もいるのに
そんなにいません

> 今からPerlを覚える必要はない
でも、もしそんなにたくさんいたとしても、
だから覚える必要はないということはありません。
「英語を使える人は10億人を超えるのに、今から英語を覚える必要はない」
と言われたらあなたはそれに納得しますか?

> やるならPythonかRubyやれ
この3つはそれぞれ有用です。
職業プログラマーになりたいんだったら全部やりましょう。
趣味でちょっとしたものを工作するならどれか一つでも構いません。
どれをやってもあなたの世界は広がります。

暇だから、gizmodo翻訳風に釣られてみた。
0502nobodyさん2010/10/05(火) 13:03:00ID:???
それぞれの質問スレを覗いてみるのも有用かと。
スレの雰囲気や回答者の質など。
0503nobodyさん2010/10/05(火) 13:03:19ID:???
>>501先生ありがとうございます
Perl,Python,Rubyを覚えるとしたらどの順番で覚えたほうがいいでしょうか?
0504nobodyさん2010/10/05(火) 13:04:56ID:???
N88BASIC
0505nobodyさん2010/10/05(火) 13:37:27ID:tVnNPBxi
その日が祝日だった場合は赤い文字で祝日の名称を表示したいのですが、
祝日ってかならずしも定日ではないんですよね。第二日曜日とか第三とか。
こういう場合はみなさん、どう振り分けていますか?
0506nobodyさん2010/10/05(火) 13:43:00ID:???
春分秋分みたいにかんたんな規則じゃ求まらないのがある以上は
祝日データを持つしかないと思う。
0507nobodyさん2010/10/05(火) 13:44:06ID:tVnNPBxi
つまり、毎年1年分の休日データを手動で更新するってこと?
0508nobodyさん2010/10/05(火) 13:50:36ID:???
そう。気の利いたアプリなら祝日データ配信機能をもたせてどっかkら
配ったりするかも。あるいは自動バージョンアップ機能に含めるとか。

なんしろ勝手に法律かわったり天皇が代替わりしたりするわけで計算
じゃどうにもならんよ。
0509nobodyさん2010/10/05(火) 13:59:52ID:???
第二月曜とか第三月曜とかくらいまでは計算でなんとかならんかな?
0510nobodyさん2010/10/05(火) 14:33:00ID:???
振替休日の判定式も忘れないでね。
去年のシルバーウィークは
まともに休日表示されてないカレンダーが多かった。
0511nobodyさん2010/10/05(火) 14:38:28ID:???
SWはいらないよ。
http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%AB%E3%83%90%E3%83%BC%E3%82%A6%E3%82%A3%E3%83%BC%E3%82%AF
0512nobodyさん2010/10/05(火) 15:04:31ID:???
Calendar::Japanese::Holiday
0513nobodyさん2010/10/05(火) 16:32:15ID:???
モジュールってやつですか?
use で使えばいいのかな?
ググレカスですかそうですか。
0514nobodyさん2010/10/05(火) 19:15:19ID:???
土日を含まない祝日に挟まれた平日は祝日

だっけ?

めんどくせぇなぁww
0515nobodyさん2010/10/05(火) 19:17:52ID:???
毎年祝日データを載せてるサイトがあればそこから毎年抽出すればいいと思うが
0516nobodyさん2010/10/05(火) 20:08:05ID:???
プログラマに「祝日」という言葉はない!!

「客から電話がかかってこない日」ならある
0517nobodyさん2010/10/05(火) 22:22:50ID:???
それは業務的話ねwwwwwwwwwwwwwwww
0518noboby2010/10/06(水) 02:25:55ID:???
つ holiday.pl
0519nobodyさん2010/10/06(水) 03:11:04ID:???
ENDLESS BATTLEっていう8年前くらいに流行ったCGIゲームの質問なんですが
人を表示させるときの配列を下記のように、DBの格納順で設定しています
while (($Key,$Value) = each %P){
@VS_VALUES = split(/\s/,$Value);
これをランダムにするのはどうすればいいんでしょうか?
どうかお願いいたします。
0520nobodyさん2010/10/06(水) 03:56:29ID:???
>>519
>>1
【 スクリプト改造依頼スレ】(丸投げ) part7再々
http://hibari.2ch.net/test/read.cgi/php/1222645553/
★三 【 スクリプト改造工房 PART 9 】 ★三
http://hibari.2ch.net/test/read.cgi/php/1143834740/
金出すから改造してよvol.3
http://hibari.2ch.net/test/read.cgi/php/1162147035/
0521Perl忍者 ◆M5ZWRnXOj6 2010/10/06(水) 07:41:58ID:2XmazIev
俺の影響うけてPerlうちこみだしたやつがうざい


俺が知ってる中では100人ぐらいが俺の影響うけてPerlとかわめいてやがる
まじうぜえんだが もともとPHPやってるウンコどもも俺の影響でPerlやりだしたし

俺がJPAに献上してるってことあいつらは

だけどあいつらは俺の真似ばっかりしてくんだよ 模倣 アイディアとか発言とか
知ってるプログラマとかも

本当うざくてうざくてたまらねえわほんとに
0522Perl忍者 ◆M5ZWRnXOj6 2010/10/06(水) 07:43:12ID:2XmazIev
もともとドラクエやってるのに

横からFFやってたやつがドラクエやりだして熱弁しだすのがきにくわねえ

本当消えろ!!
0523nobodyさん2010/10/06(水) 10:09:00ID:???
>>519
そういう枕をつけるから相手にしてもらえなくなるわけだな。

一行目のeach %Pをperlが勝手に決めた順番じゃなくてランダムにしたいのか、
二行目の@VS_VALUESの中身の並び順をランダムにしたいのかどっちだか
よくわからんが、とりあえずList::Utilのshuffleでなんとかなるんじゃね?
0524nobodyさん2010/10/06(水) 11:06:02ID:???
やりたいのは%Pのシャッフルです
@keyに取得させてshuffleさせてみました
use strict;
use List::Util qw/shuffle/;
my @key = ($Key,$Value) = each %P;
@VS_VALUES = split(/\s/,$Value);
my $key = List::Util::shuffle @key;
-------------------------------
use strict;
use List::Util 'shuffle';
my @key = ($Key,$Value) = each %P;
@VS_VALUES = split(/\s/,$Value);
print shuffle( @key );
スクリプトエラーはでてないのですが、実際に入れてみたところ二つともダメでした

0525nobodyさん2010/10/06(水) 11:09:36ID:???
keys %Pをshuffleして使え。
0526nobodyさん2010/10/06(水) 11:41:28ID:???
こんな感じに書き換えればおk

foreach $Key(shuffle keys %P){
$Value = $p{$Key};
@VS_VALUES = split(/\s/,$Value);
0527nobodyさん2010/10/06(水) 12:59:05ID:???
Perl文法エラーがでてしまいますね
sub shuffleを使ってみようかと思ったんですがその場合whileとforeachどっちのほうが良いんですか?
0528nobodyさん2010/10/06(水) 13:15:31ID:???
whileとforeachじゃ全く働きが違うわけだが。そのくらいの
判断もつかないようだともう少しちゃんと勉強して出直した
方がいいレベル
0529nobodyさん2010/10/06(水) 13:40:19ID:???
<?PHP
shuffle($key);
foreach $Key (keys %P){
@VS_VALUES = split(/\s/,$P{"$Key"});
}
?>
0530nobodyさん2010/10/08(金) 00:03:35ID:???
PHPじゃダメだろ

use List::Util;
@key = List::Util::shuffle %P;
%P = @key;
while (($Key,$Value) = each %P){
@VS_VALUES = split(/\s/,$Value);
}


こんなところか
0531nobodyさん2010/10/08(金) 02:02:37ID:???
ハッシュのキーも値も一緒くたにする勢いで shuffle しなくてもいいんじゃないか。
0532nobodyさん2010/10/08(金) 05:36:21ID:???
perl構文です。hashをshuffleして取り出したいのですが・・・ - Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1248240982
0533nobodyさん2010/10/08(金) 08:02:19ID:???
>>526
>>529
>>530

Perl勉強し直した方が良いんじゃね?
0534nobodyさん2010/10/08(金) 08:44:20ID:???
>>533
模範解答よろ
0535nobodyさん2010/10/08(金) 14:48:28ID:???
この前の天才CGIショップ運営者はどうなったの?
問い合わせしておんなじコト言われた?

問合せ先の業者がかわいそうだな。ごねてんだろうな。
0536nobodyさん2010/10/08(金) 14:54:36ID:???
>>534
529と530はまるでだめだが526は大筋問題ない。
「}」の省略とpの大文字小文字間違いぐらいは
自分で修正しろw
0537nobodyさん2010/10/08(金) 16:10:19ID:???
foreachにshuffleとか使えないですしおすし
0538nobodyさん2010/10/08(金) 16:17:58ID:???
>>537
使えるよ。List::Utilをuseしてないとか言いたいのかな。
List::Utilのshuffle使おうって話の流れなんだから
そのぐらいは補えよ。
0539nobodyさん2010/10/08(金) 17:16:58ID:???
useが省略されてても

foreach $Key(List::Util::shuffle keys %P){
@VS_VALUES = split(/\s/,$P{"$Key"});

こうだろ
ただVALUESの値が取得できてないな
0540nobodyさん2010/10/08(金) 17:31:48ID:???
requireしなくての使えるの?
0541nobodyさん2010/10/08(金) 18:16:41ID:???
>>1
0542nobodyさん2010/10/08(金) 18:31:51ID:???
>>539
use List::Util 'shuffle'; はナシですか
0543nobodyさん2010/10/08(金) 18:44:08ID:???
ハッシュって初めから乱数でランダム格納されてるんじゃなかったっけ
0544nobodyさん2010/10/08(金) 18:57:03ID:???
>>543
順番は保証されてないけど、同じ環境で実行するとたぶん同じ順番になるから
毎回違う順番にしたいって時にはshuffleしたキーを使わなきゃだめ
0545nobodyさん2010/10/08(金) 19:10:44ID:???
>>544
実行時にランダマイズが必要なのはその通りだが
http://perldoc.perl.org/perl581delta.html#Hash-Randomisation
http://fleur.hio.jp/perldoc/modules/perl/perl-5.8.8/pod/perl581delta.mix.html#Hash_Randomisation
0546nobodyさん2010/10/08(金) 19:13:53ID:???
>>545
うーん読んでるとシャッフルは必要ないように思ったんだけど、どうだろう
5.81以前を使っているのかな
0547nobodyさん2010/10/08(金) 19:46:58ID:???
>>542
多分ダメじゃない?

HASHには最初にランダムに格納されるだけだから、ちゃんと回さんとダメ
05485442010/10/08(金) 20:02:12ID:???
俺の環境だと5.10.1、5.12.1、5.12.2のどれで何回やっても同じ順番になるな

use strict;
use Data::Dumper;
my %hash = (foo => 1, bar => 2, baz => 3, qux => 4);
print "perl $]\n";
print "keys: @{[keys %hash]}\n";
print Dumper \%hash;
__END__


perl 5.012002
keys: bar baz qux foo
$VAR1 = {
'bar' => 2,
'baz' => 3,
'qux' => 4,
'foo' => 1
};
0549nobodyさん2010/10/08(金) 23:25:53ID:???
ちゃんとシャッフルしてやらんと
0550nobodyさん2010/10/08(金) 23:33:31ID:???
>>539
ワロタw
0551nobodyさん2010/10/09(土) 02:53:43ID:???
>>535
サポートの姉ちゃんに粘着してんだろ。
察してやれ。
0552Perl忍者 ◆M5ZWRnXOj6 2010/10/09(土) 19:21:18ID:7nxLhNm/
はじめまして

GD::GraphがJcode使っててむかつくので

なんかグラフ表示させるやつ教えてください
javascriptでもいいですか?教えてください
クソコテですが まじめに教えてください
0553nobodyさん2010/10/09(土) 19:23:06ID:???
マルチしね
0554Perl忍者 ◆M5ZWRnXOj6 2010/10/09(土) 21:58:06ID:7nxLhNm/
俺は死なない…たとえ肉体は滅んでも俺の遺志を継ぐものが必ず立ち上がり、そして松本ひろゆき、Rubyたちを倒す!
0555nobodyさん2010/10/09(土) 23:06:01ID:???
de?
0556nobodyさん2010/10/10(日) 02:11:40ID:???
シャッフルは俺の得意分野

use List::Util 'shuffle';
foreach $Key(shuffle keys %P){
@VS_VALUES = split(/\s/,$P{"$Key"});
}

HASHはランダムに納められてるだけでランダムに表示されるわけではない
0557nobodyさん2010/10/10(日) 14:38:29ID:???
>>556

>>526
0558nobodyさん2010/10/10(日) 18:34:10ID:???
list.txt内にユーザーID:名前と記録してるのですが、
この中から名前を検索して、リンクのさいにuser.cgi?=ユーザーIDとしたいのですが、どのように書けば良いのでしょうか?
0559nobodyさん2010/10/10(日) 19:31:01ID:???
>>558
>>1
依頼されたツールを誰かが作るスレ
http://hibari.2ch.net/test/read.cgi/php/1078997682/
金出すからスクリプト作ってよvol.1
http://hibari.2ch.net/test/read.cgi/php/1150508106/
0560nobodyさん2010/10/14(木) 13:38:00ID:???
メールフォームの開発の話。
最初はGETメソッドで開発して、
最後にPOSTに変更するとやり易いなあと。
クエリーがアドレスバーに表示されるので、渡すデータやキーを確認できるから。
これまでは$queryで処理結果ページに表示してた

そう思わない?
みんなどうしてる?

日本語スマソ
0561nobodyさん2010/10/14(木) 14:36:32ID:???
>>560
>>1
【総合】 Webprog板質問雑談スレッド 1
http://hibari.2ch.net/test/read.cgi/php/1131016915/
開発環境おしえて
http://hibari.2ch.net/test/read.cgi/php/1171452901/
スクリプト言語と開発効率について
http://hibari.2ch.net/test/read.cgi/php/1177517787/
生産性、効率性を重視した開発環境
http://hibari.2ch.net/test/read.cgi/php/1005486101/
0562nobodyさん2010/10/15(金) 16:50:22ID:1IbFyG9F
DBIでmysqlのblob型に入ったテキストを取り出したいのですがテスト環境ではうまくいくのですが

本番環境では文字化けしてしまいます。Mysqlのバージョンは5.1.34です。

テキストはUTF8でバイナリデータとしてはきちんと入っていました。

Blob型からデータを取り出すときには何かしないといけないのでしょうか?
0563nobodyさん2010/10/16(土) 10:56:52ID:???
取り出すときにset names utf8とかすれば?
0564nobodyさん2010/10/16(土) 12:03:58ID:???
>>563
接続時はSET NAMES utf8としていますが

SQLの実行直前ですか?

ぐぐるとSET NAMES binaryとしている人もいるようです

0565nobodyさん2010/10/16(土) 12:15:08ID:4m15JmGp
>>563
ナイスヒントでした。

SET NAMES utf8ではだめでしたが直前でSET NAMES binaryを入れたところ化けないようになりました。

blob型を使うときは切り替えないといけないんですね

0566nobodyさん2010/10/17(日) 15:28:24ID:???
>>560
好きな方法使えばいいよ。
0567nobodyさん2010/10/19(火) 10:27:12ID:???
use LWP::UserAgent;



require LWP::UserAgent;

とは同じということでよろしいかな?
0568nobodyさん2010/10/19(火) 10:33:23ID:???
下の方法で呼べるっけ?
0569nobodyさん2010/10/19(火) 10:33:56ID:???
そう書いてあるHPがあるんだ。
意外だた。
0570nobodyさん2010/10/19(火) 10:38:28ID:???
動作が違うけどそれでもよろしければ。
0571nobodyさん2010/10/19(火) 10:40:06ID:???
>>567
違うのはimportの有無と読み込みタイミングだが、LWP::UserAgentは
$ua = LWP::UserAgent->newしたら$uaのメソッド呼ぶだけだから普通の
使い方なら特にimportしなきゃいけないもんないしな。どっちでもいいん
じゃない?
0572nobodyさん2010/10/19(火) 10:41:05ID:???
SYNOPSYSにも

require LWP::UserAgent;

ってなってるしな。
05735672010/10/19(火) 10:42:31ID:???
このスレすごい。(;´∀`)
0574nobodyさん2010/10/19(火) 11:17:20ID:???
は〜わかんね。perlのモジュール。(;´Д`)
0575nobodyさん2010/10/19(火) 11:43:50ID:???
sprintf("%d", 680*1.4)
が951になる理由を教えてくれ
0576nobodyさん2010/10/19(火) 12:10:30ID:???
理由はわからんなぁ。。でもそういう内部処理を解説してるサイトどっかで見た
1.4が少数部持ってるから掛け算した結果も小数部を持つ952
これを%d整数としてはめ込むときにどうにかしてるんだから (680*1.4) . ''で
一旦文字列にすれば952になるだろうね
0577nobodyさん2010/10/19(火) 12:16:23ID:???
掲示板作ってるのですが、なぜ2ちゃんねるはdatファイルでログを作成しているのでしょうか?
textファイルじゃダメなんでしょうか?
2ちゃんねるのログをそのままtextファイルを使用した場合のデメリットなどがあったら教えてください
0578nobodyさん2010/10/19(火) 12:17:24ID:???
>>575
丸め誤差でぐぐれ
0579nobodyさん2010/10/19(火) 12:23:44ID:???
>>577
ただのテキストだと本文に他の記事をコピペされると記事の区切りとか
わかんなくなったりするので、はっきり区別がつくように特別な約束を決めて
あるわけだな。
0580nobodyさん2010/10/19(火) 12:24:07ID:???
2ちゃんねるのログはテキストファイルだよ。
0581nobodyさん2010/10/19(火) 13:11:09ID:???
そういや今ふと思ったんだが2chといい何で今の掲示板には必ずといっていいほど
メール欄[ ]
↑これがあるけど、需要ねぇだろコレ
マジ何でほぼ全ての掲示板に共通してあるんだよ
0582nobodyさん2010/10/19(火) 13:27:15ID:???
事実上sageって書く欄になってしまってるがいきなり名前を変えたら
混乱するからな。
0583nobodyさん2010/10/19(火) 13:42:10ID:???
拡張子なんて飾りです……偉い人にはそれが分からんのですよ
■ このスレッドは過去ログ倉庫に格納されています