Perlについての質問箱 ..
116:デフォルトの名無しさん
08/08/17 11:45:57
>>103のようなチンポしゃぶりがいる限り、寄生虫は出現しつづける。
117:103
08/08/17 12:32:20
>>116
だってかわいそうなんだもの。
この子がこのまま社会に出るなんて、ぞっとするんだもの。
118:デフォルトの名無しさん
08/08/17 13:58:33
>>117
社会に出て来ることを前提にするからそうなるわけで
社会が受け入れを拒めば良い。ニートも珍しくない時代だぜ。
119:デフォルトの名無しさん
08/08/17 14:00:35
>>117はすでに問題の寄生虫に依存している。
120:デフォルトの名無しさん
08/08/17 14:03:36
>>117
歪んだ持論で100に粘着したり、
「ぐぐれカス」で済むところをねちねち言ったり、
自治しようとしたり。
お前さんのウザさは、107と変らんよ。
121:103
08/08/17 16:33:09
>>118
ニートが社会に拒まれてそうなるというのは新説な気がするの。
どちらにしろそういう事例は少ないほうがいいと思うの。
でもこのスレでやるべきことじゃないとは思うので反省してる。
>>119
誰かボクを隔離して欲しいの。
でもこれ以上迷惑になるいけないのでがんばって自分で克服します。
>>120
ウザくてごめんなさい。
持論が歪んでるのは自覚があるので鵜呑みは危険と言っておくの。
ボクが言うのもなんだけど、みなさん気にせずPerlのお話しましょう。
122:デフォルトの名無しさん
08/08/17 17:08:03
なんかすごく怖くなってきた
123:デフォルトの名無しさん
08/08/17 18:19:19
>>110
これで、文章が表示されるのと合わせて、
音楽を鳴らしたいんだけど、
(本物のウイザードリーみたいに)
Perlだと実装はものすごく面倒なの?
124:デフォルトの名無しさん
08/08/17 18:27:00
みんな聞いてくれ!
スレリンク(php板:556番)
で、質問がでていたので、
スレリンク(php板:560番)
と、オレ様が、かっこよく回答しちゃったぜ!
ちなみに、あってるかどうかは、知りません
125:デフォルトの名無しさん
08/08/17 18:27:01
がんばって、あなたなら出来るわ
126:デフォルトの名無しさん
08/08/17 18:33:02
合ってないところがいいな。
127:デフォルトの名無しさん
08/08/17 18:46:30
統失で10年くらい入院したあと退院してPerlに目を付けたという感じか?
128:デフォルトの名無しさん
08/08/17 19:58:01
>>123
Win32::Sound
129:デフォルトの名無しさん
08/08/17 22:00:22
perldoc に関する質問です。
ある単語 foo に関する perl のドキュメントを読みたいが、
perldoc foo → No documentation found for "foo"
perldoc -f foo → No documentation for perl function `foo' found
perldoc -m foo → No module found for "foo"
perldoc -q foo → No documentation for perl FAQ keyword `foo' found
となるとき、すべての perl ドキュメントから foo を検索して、
どのドキュメントを見ればよいか表示するような機能はないでしょうか?
例えば __PACKAGE__ を調べようとしても上の4つではだめで、
最終的には perldoc perl の出力を眺めて当たりを付けて、
perldoc perldata
に辿り着きましたが、当たりを付けるまでに手間がかかります。
zsh のマニュアルの man zshall のように、インストールされているすべての
ドキュメントを連結表示するとかでもいいのですが。
130:デフォルトの名無しさん
08/08/17 22:36:17
aaa
aaaa
aaab
aaaaa
aaaab
参考書読んでて、
文字列ソートすると、こういう順番に
なります、と書いてあって、どうしても理解できなくて、
ホームページの正誤表みたら、誤植だった。
ただしくは
aaa
aaaa
aaaaa
aaaab
aaab
だった。なんでbが先にくるかなあ?と
1時間悩んだ。
131:デフォルトの名無しさん
08/08/17 22:48:22
>>129
力技。
find /usr/lib/perl5/5.10/pods -name '*.pod' | xargs grep -i KEYWORD | less
あとはGoogle DesktopやWindows Searchでドキュメントの領域を検索対象にするとか。
132:デフォルトの名無しさん
08/08/17 23:25:23
>>128
なんかすげー難しそう
1行書いたら音が出るみたいのを
イメージしてたんだけど、
HSPとかRPGツクールとかだと
音出すなんて簡単だったんだけど、
Perlでは難しいってことかな?
133:デフォルトの名無しさん
08/08/17 23:31:27
>>131
ありがとうございます。find | xargs grep | less 系のやり方をする
ことにしました。(あるいは同様のコマンド)
134:デフォルトの名無しさん
08/08/17 23:36:25
>>129
これってぼくも誰も作ってないのかなと思ってるんだけど、
やっぱり誰も作ってないのかい。
135:デフォルトの名無しさん
08/08/17 23:43:32
検索してたらこんなものを見つけてしまった
353 名前:名無しさん 投稿日:2001/02/08(木) 12:40
Perlで音を出すことって出来ないでしょうか。
処理が終了したときにちーんと鳴らしたいのですが。
URLリンク(www.angelfire.com)
136:デフォルトの名無しさん
08/08/18 00:05:14
>>128
やってみた。
かんたんだった。
use Win32::Sound;
Win32::Sound::Volume('100%');
Win32::Sound::Play("file.wav");
Win32::Sound::Stop();
↑これを書くだけで、できた。
Win32::Soundは最初から入っていた。
137:デフォルトの名無しさん
08/08/18 00:26:36
Win32::MIDIって使い方がよくわからんな。
midiを鳴らすときは、必ずWin32::MIDIでないとだめなの?
それとも、midiもWin32::Soundでいけるの?
138:デフォルトの名無しさん
08/08/18 00:54:45
perlでmidiファイルを鳴らす方法がまじでわからんわ。
midiファイルを指定して、すぐに鳴らすとかできないのかな?
139:デフォルトの名無しさん
08/08/18 01:00:59
>>134
順序が逆だっちゃ。
大量のドキュメントに対して grep などによる全文検索だけでは不便だから perldoc のセクション特定用の各オプションがある。
140:デフォルトの名無しさん
08/08/18 02:04:19
>>139
> 順序が逆だっちゃ。
これは順番の問題ではない。不便な全文検索が問題なら不便でない全文検索が
求められるだけのこと。
141:デフォルトの名無しさん
08/08/18 02:38:01
ま、いずれにせよ、「それを欲しい者がそれを作る」のが基本だべさ。
142:103
08/08/18 04:34:08
>>140
全文検索自体が不便つーことでなく、単純な全文検索だとどこからでもパターンを拾ってきちゃうから、-f だの -q だのがあんだべ、って話。
パターンがどのファイルのどこにあるか知るだけなら find, grep で特に不便もないし、それ用の Perl スクリプトを書いても2分てとこだろ。
143:デフォルトの名無しさん
08/08/18 04:37:30
>>142
> パターンがどのファイルのどこにあるか知るだけなら
そんなのじゃ不便過ぎるだろ。
144:デフォルトの名無しさん
08/08/18 07:43:42
不便に思ったことないんだがどんな使い方がしたいんだ?
まさか初めてのPerlすら持ってない奴の戯れ言じゃないだろうな……
145:デフォルトの名無しさん
08/08/18 07:49:29
子供はHSPでも使ってろ
HSPには可変長配列は無いがな!!(まさに外道)
146:デフォルトの名無しさん
08/08/18 12:55:44
アセンブリを外道と言うな。
147:デフォルトの名無しさん
08/08/18 15:27:11
夏だなあ
148:デフォルトの名無しさん
08/08/18 15:43:15
確実にここではないと思うのですが、どこなのか分からなくてスミマセン。
perl書くときに $ とか %#"'() など良く打つと思いますがshift押さずに入れるように
するようなソフトや方法はありますでしょうか?
数字はテンキーがあるのでキーボードの1〜9の範囲は全部記号にしたいのですが。
149:デフォルトの名無しさん
08/08/18 16:39:16
>>134
もう数年前になるけど、大学の研究室に、Perl関係のドキュメントを
インクリメンタルに全文検索でひけるソフトがあった。
Rubyで書かれていたけどw
150:デフォルトの名無しさん
08/08/18 17:10:00
active perlでのforkについてです
子プロセスの上限を決めてforkで処理するのに、
pidをpushしていって、上限を超えたらいちばん古い子プロセスをwaitpidしていますが、
たまたまそいつが遅いと他のプロセスはとっくに終わってるのに先頭のを待ち続ける、
というはめになります
pidのリストのうち、どれか一つ終わったら、という処理をさせるには
どうすればいいですか
151:デフォルトの名無しさん
08/08/18 17:31:18
>>150 $SIG{CHLD} じゃダメ?
152:デフォルトの名無しさん
08/08/18 17:31:28
>>150
っ[Parrallel::ForkManager]
153:デフォルトの名無しさん
08/08/18 17:51:40
>>148
スキャンコードをリマップすることにより可能。
方法は OS 等により異なる。使用 OS の板・スレで聞くといい。
154:デフォルトの名無しさん
08/08/18 18:05:26
d
勉強してみます
155:デフォルトの名無しさん
08/08/18 18:05:41
154=150
156:デフォルトの名無しさん
08/08/18 18:41:09
WAVEを鳴らすのは、カンタンにできたんだけど、
midを鳴らす方法がわからない。
MP3については、mediaplayerなんとか、っていうモジュールを
使えばいいみたいなんだけど、ppmでダウンロードのリストに入ってない。
157:デフォルトの名無しさん
08/08/18 18:43:28
数字をランダムジェネレートして、
アルファベットの小文字と大文字
a-z,A-Zにchrを使って変換して表示する
プログラムを作ろうと思ったんだけど、
65-120だと、まんなかに、余計な記号が入ってしまう。
この場合、if 95<x<98 then redo
でいいのかな?
もし記号の数字だったら、ルーレットをまわした結果を
破棄して、もう一度ルーレットをまわすって言う。
158:デフォルトの名無しさん
08/08/18 18:45:00
ようは、randで、65-95、かつ95-120の数字がほしい、
って指定できればいいんだけど、できないんだよね。
他の言語だとできるの?
159:デフォルトの名無しさん
08/08/18 18:46:09
>>158
まちがえた。
○ようは、randで、65-95、かつ98-120の数字がほしい、
160:デフォルトの名無しさん
08/08/18 19:19:20
>>157 発想を変えてみる
@str = (a..z,A..Z);
print $str[rand(@str)];
161:デフォルトの名無しさん
08/08/18 20:25:45
>>160
なんもプリントされないんだけど。
162:デフォルトの名無しさん
08/08/18 21:08:40
こうですか?
$x = int(rand(52));
print chr(($x + ($x % 2) * 63+ 130)/2);
163:デフォルトの名無しさん
08/08/18 21:17:41
my $a;
do {
$a=int(rand(123-65)) +65;
say "fault!";
} while ($a<=96 or $a>=91);
print $a;
↑これやると無限ループになる。なんで?
164:デフォルトの名無しさん
08/08/18 21:20:53
>>163
自己解決した。
orじゃなくてandだった。
こんな難しいバグも一人でデバッグできるオレ様の単価は
120万円/月くらいですか?
165:デフォルトの名無しさん
08/08/18 21:29:18
my $a;
my $b;
for ($b=1;$b<=8;$b=$b+1){
do {
$a=int(rand(123-65)) +65;
} while ($a<=96 and $a>=91);
print chr($a)," ";
}
↑やったーパスワード発生器できたよー
166:デフォルトの名無しさん
08/08/18 21:34:31
system q|cls|;
my $a;
my $b;
for ($b=1;$b<=8;$b=$b+1){
do {
$a=int(rand(123-65)) +65;
} while ($a<=96 and $a>=91);
sleep(0.5);
print chr($a)," ";
}
print "\n";
↑こっちのほうが、ちょっとかっこいいかな?
167:デフォルトの名無しさん
08/08/18 21:46:46
今、考えてるのは、
配列に、3つの要素が入ってるとして、
その3つの要素を連結して、一つの文字列にして、
スカラー変数にいれるということ。
@a=('a','b','c')
だとして、
$b="abc"
にしたいということ。
自分で考えるから、おまいら、絶対に正答を書くなよ!
いいか、絶対に書くなよ!
168:デフォルトの名無しさん
08/08/18 21:50:53
sub genpass {
my @chars = (0..9, "A".."Z", "a".."z");
join "", map { $chars[rand(@chars)] } 1..8;
}
print genpass(), "\n";
169:デフォルトの名無しさん
08/08/18 21:55:05
>>168
こ、これは、、、
スカウターの数字が、、、
パールレベル12を超えてるだと?!
170:デフォルトの名無しさん
08/08/18 22:01:36
これ以上このスレに常駐するなら、あぼーんするからコテつけてくれ。
171:デフォルトの名無しさん
08/08/19 00:11:06
use feature qw( :5.10 );
use Time::HiRes 'sleep';
$|=1;
#----------------------------------
system q|cls|;
my $a,$b,@c,$e;
for ($e=1;$e<=5;$e=$e+1){ #外側のforループ
for ($b=1;$b<=3;$b=$b+1){ #内側noforループ
do {
$a=int(rand(123-65)) +65;
} while ($a<=96 and $a>=91); #do-while文
push(@c, chr($a));#生成したランダム文字を配列にプッシュ
}
my $d;
$d=join ("",@c);#配列に格納されている文字をスカラー変数に代入
say "$d";#文字を出力
@c=();#配列を初期化
}
#----------------------------------------
↑やったー
ランダムな3連文字列を5回出力することに成功
あとはソート部分のロジックだけだー
172:デフォルトの名無しさん
08/08/19 00:14:45
>>168
実を言うと、
>print genpass()
ここがわからなかったりする。
無名サブルーチンの呼び出し?
サブルーチンを呼び出して、その返り値を
プリントしている?
173:デフォルトの名無しさん
08/08/19 00:22:56
randの引数に、配列を入れるってのは、ありなのか?
174:デフォルトの名無しさん
08/08/19 00:25:31
ありだよ。
175:デフォルトの名無しさん
08/08/19 00:25:54
レベル低い質問ばっかりだな
176:デフォルトの名無しさん
08/08/19 00:26:48
>>175
妬むなよ!
177:デフォルトの名無しさん
08/08/19 00:27:05
レベル低い煽りばっかりだな
178:デフォルトの名無しさん
08/08/19 00:28:28
そりゃ、初心者の廚が常駐してんだもん、
レベルの高い質問になるわきゃねえ。
まあ、夏休みが終るまでの我慢我慢。
179:デフォルトの名無しさん
08/08/19 00:44:47
夏休みであって欲しいとか小中学生であって欲しいとは思う。
180:デフォルトの名無しさん
08/08/19 01:03:15
>>168
見ればみるほどすごいわ
天才だろこれ
181:デフォルトの名無しさん
08/08/19 01:53:07
>>180
grepやmapは暗黙的なloopを構成できるので、
馴れればすぐにそれっぽく書けるようになるよ。
182:デフォルトの名無しさん
08/08/19 01:56:59
さーせん、xmlの変更処理で、簡単で短いコードを教えてください。
検索処理ではなく、変更処理っす、文字列でなく、xml文章として扱って変更するタイプ。
入力xmlは、標準入力かファイル名、出力するxmlは標準出力
処理前xml
<xml? ....ありきたり>
<root:yesroot>
<!-- subtree -->
<subt e='befoore' />
</root:yesroot>
変更後xml
<xml? ....ありきたり>
<root:yesroot>
<!-- subtree -->
<subt ele='after' />
</root:yesroot>
自分で作るにあたって参考にしたサイトは、
URLリンク(www.ibm.com)( 1 - 3)
なんですが、どうも簡単。ってレベルじゃないと”感じ”ました。
javac,c,python,rubyでやっても同じじゃん。みたいな。
183:デフォルトの名無しさん
08/08/19 02:11:33
>>181
みっともないやつだな
184:デフォルトの名無しさん
08/08/19 02:59:31
>>182
> 検索処理ではなく、変更処理っす、文字列でなく、xml文章として扱って変更するタイプ。
Perl は入力をほとんど常にバイト列として扱います。
XML として扱いたいなら XML::* モジュール郡を使ってください。
> javac,c,python,rubyでやっても同じじゃん。みたいな。
そういうことなら Perl にこだわる必要もないのでは?
185:デフォルトの名無しさん
08/08/19 10:54:11
CGIレベルでなくて、純粋なコンソールレベルの
perlの入門書を探しているんだが、あんまりないね。
結城さんのは読んだし、すぐわかるperlは今読んでるし。
186:デフォルトの名無しさん
08/08/19 14:08:22
Perl初めて塾 やさしいPerl [表計算的処理編]
ミニマルPerl
Perlクックブック Volume 1
等々あるけど、べつに結城本でもテキスト処理はカバーしてるよ。
CGIも処理の大半はテキスト処理だし
187:デフォルトの名無しさん
08/08/19 14:19:56
何でこんな変な文字列になるのですか?
$a = "\Q声";
print $a # => \申コ
188:デフォルトの名無しさん
08/08/19 14:24:45
\Q ... \E は英数字以外の文字にバックスラッシュを追加する
189:デフォルトの名無しさん
08/08/19 14:37:28
>>188
そうなんだ
サンクス
190:デフォルトの名無しさん
08/08/19 17:11:25
>>172
ヒント:
sub hogehoge(){
'Hello World!!';
}
print hogehoge(); #Hello World!!
191:デフォルトの名無しさん
08/08/19 19:53:40
>>190
なにか、名前はついてるんですか?
「サブルーチンの、無宣言呼び出し」とか。
名前がわからないと、本で調べることもできないし。
たぶん、このサブルーチンの呼び出し方は
入門書レベルでは解説ないですよね?
&をつけて呼ぶ方法しかのってないのが普通だと思う。
192:デフォルトの名無しさん
08/08/19 20:09:01
本が古いだけなんじゃ
193:デフォルトの名無しさん
08/08/19 20:31:06
ラクダ本だと「裸のワード」ってよばれてる。
$, @, & とかなくてクォーテーションで囲まれてない文字列をどう解釈するか。
@list = (hoge, hage);
print $list[1];
とかね。
194:デフォルトの名無しさん
08/08/19 20:41:57
>>191
>&をつけて呼ぶ方法しかのってないのが普通だと思う。
…いつの時代の人ですか?
195:デフォルトの名無しさん
08/08/19 21:02:35
…誰も突っ込まんから一応突っ込むが、
>>168はごくごく普通のサブルーチン
>>190はプロトタイプ付きのサブルーチン(引数を取らないと宣言している)
本人は解ってて書いてるのかも知れんが、
sub hoge(){
my $dat = shift ;
…
}
とかやる奴が出てきそうで怖い
ってここまで書いて初心者スレじゃない事を思い出した。ご丁寧に書く必要なかったな
196:デフォルトの名無しさん
08/08/19 21:30:42
初心者スレとかあるの?
197:デフォルトの名無しさん
08/08/19 22:03:03
webprogにあるよ
198:デフォルトの名無しさん
08/08/19 22:46:49
>>195
微妙に難しいな。
いや解説してくれたのはありがたいんだけど。
プロトタイプってレベル2だろ。
199:デフォルトの名無しさん
08/08/19 23:16:23
あっち池。
Perlコーディング初心者質問スレ Part 58
スレリンク(php板)
くだすれPerl(超初心者用)2
スレリンク(php板)
200:デフォルトの名無しさん
08/08/20 00:14:27
>>199
一時期そちら方面でもお見かけしたのですけれど、
どうも、その…、回答者の質がお気に召さないご様子でして、
大変光栄なことに、数を撃てばなにがしかの情報が引き出せて、
かつ適度に遊んでもらえるこちらに居を定められた模様なのですよ。
個人的に殿下には、同じあちらでも下記スレをおすすめ申し上げたい。
スレリンク(php板)l50
201:デフォルトの名無しさん
08/08/20 00:39:07
何度同じサイクルを回れば気が済むんだよ、チンポしゃぶりどもが。
202:デフォルトの名無しさん
08/08/20 00:54:32
おまえもな
203:デフォルトの名無しさん
08/08/20 01:09:57
おまえもな
204:デフォルトの名無しさん
08/08/20 01:17:11
おれらもな
205:デフォルトの名無しさん
08/08/20 01:17:56
おまえだけだよ
206:デフォルトの名無しさん
08/08/20 01:24:36
いやいやおまえもだろ
207:デフォルトの名無しさん
08/08/20 02:58:59
もういいです
208:デフォルトの名無しさん
08/08/20 14:06:12
いやいやよくない
209:デフォルトの名無しさん
08/08/20 15:22:53
こういうのははっきりさせとかないとな
210:デフォルトの名無しさん
08/08/20 20:06:37
正規表現って、
s///と、
tr///と、
m///と、
3つの種類しかないの?
211:デフォルトの名無しさん
08/08/20 20:13:12
つ split(//)
別にこれらが正規表現な訳では無い
これらのパターンマッチ関数で正規表現を使用しているという事
212:デフォルトの名無しさん
08/08/20 20:38:24
質問age
hoge.plは処理の中でlocaltimeを取得するんですが、hoge.pl自体の改修はせずに
実行時にlocaltimeを指定してやることは可能でしょうか?
別のhogehoge.plを作って、その中で指定した値をlocaltimeとしてhoge.plに渡して実行
みたいなことができるとベストなんですが。
213:デフォルトの名無しさん
08/08/20 22:30:23
意味不明
214:デフォルトの名無しさん
08/08/20 23:05:42
>>212
が言いたいのは、たぶん、
hogehoge.plの中味で、
$a=123456;
とかを指定。
そんで、
localtime=$a;
とかにする。そんで、
hoge.plを実行するときに、引数で渡す。
perl hoge.pl localtimeとか。
そしたら、hoge.plが、引数として渡された
localtimeを食って、localtimeとして実行する。
こんなイメージだと思う。違ってたら言って。
215:212
08/08/21 00:00:51
>>214
すいません、ちょっと違います。
hoge.plは純粋にlocaltimeを取得するだけで
引数をlocaltimeとして扱うという機能はありません。
例えば、実行するとそのときの時刻をテキストに書き込む、といった感じです。
実行したときの実際の時刻とは違う時刻を取得させたいのですが
hoge.pl自体を改修せずに実現できないものかと考えております。
216:デフォルトの名無しさん
08/08/21 00:28:35
最初から、そのhoge.plが、
引数を食うような設計になってないと、
無理なんじゃないかな。
217:デフォルトの名無しさん
08/08/21 00:33:33
ビルトイン関数をユーザ定義関数で置き換えることって出来なかったっけ?
218:デフォルトの名無しさん
08/08/21 01:13:12
# hogehoge.pl
chomp( my $the_world = `time /t` );
my $you_want = '00:00';
system( 'time', $you_want ) and die;
system( 'perl', '.\\hoge.pl' ) and die;
system( 'time', $the_world ) and die;
# そんなことやってると、もっと恐ろしいものの片鱗を味わうことになる。
# 今のうちにやめとけ。俺は止めたからな。
219:デフォルトの名無しさん
08/08/21 01:50:57
ビルトイン関数のオーバーライドはできるよ
220:デフォルトの名無しさん
08/08/21 02:25:11
localtime($hogehoge::hogetime) とか hogehoge::hogetime() にするのが本当に無理な状況なら
権限がないので書き換えられないと書いてそうなんだけどな。
221:デフォルトの名無しさん
08/08/21 13:06:25
URLリンク(www.nicovideo.jp)
これってperlでもできるのかな?
222:デフォルトの名無しさん
08/08/21 17:19:21
ああ
223:デフォルトの名無しさん
08/08/21 18:22:30
Q.「〜はPerlでも可能ですか?」
A.「できます」
ほとんどの "〜" について上記の答が返ってきます。
"〜" が「電気ストーブの作成」である場合等、いくつかの例外を除いて。
224:デフォルトの名無しさん
08/08/21 18:28:57
>>221
電気ストーブ作りたいならここ参考にね☆
スレリンク(php板)
225:デフォルトの名無しさん
08/08/21 22:11:55
なんか質問の趣旨が誤解されてるようですが、
perlで同じ物作れるか?って質問でなくて、
perlでソースコード組むときに、このシステム使って
ネット経由でペアプログラミングしたりとか、
自分のコーディングを録画して中継したりとか
できるのかな?って意味だったのですが。
226:デフォルトの名無しさん
08/08/21 22:15:18
うむ
227:デフォルトの名無しさん
08/08/21 22:15:21
ああ
228:デフォルトの名無しさん
08/08/21 22:36:43
URLリンク(kazato.run.buttobi.net)
perl版のこういうの作らない?
while
文字列の長さを取得する ループを作る
みたいなの
229:デフォルトの名無しさん
08/08/21 22:37:33
>>226
ちょっとperlでソースコード書いて、
>>221のシステムでうぷしてもらえませんか?
230:デフォルトの名無しさん
08/08/22 04:29:53
>>228
作っていいぞ。
>>229
うpっていいぞ。
231:デフォルトの名無しさん
08/08/22 10:20:37
ばかなんじゃないの
232:デフォルトの名無しさん
08/08/22 14:42:37
おまえもな
233:デフォルトの名無しさん
08/08/22 15:14:57
おまえもな
234:デフォルトの名無しさん
08/08/22 15:17:41
∧_∧ / ̄ ̄ ̄ ̄ ̄
( ´∀`)< オマエモナー
( ) \_____
| | |
(__)_)
235:デフォルトの名無しさん
08/08/22 15:55:27
言い出しっぺの法則。
自分が欲しいものは自分で作れ。
236:デフォルトの名無しさん
08/08/22 16:35:25
>>235
言い出しっぺの法則は、「言い出しっぺがやらない限り誰もやらない」だ。
237:デフォルトの名無しさん
08/08/23 00:02:15
>>236
言いだしっぺの法則は、「お前がやれ」って返って来る法則のことじゃないのか?
238:デフォルトの名無しさん
08/08/23 00:10:39
>>237
いなかっぺ大将は、「キクしゃん、ハナしゃんと西一の三角関係」を描いた物語ですよ確か。
239:デフォルトの名無しさん
08/08/23 00:49:44
>>238
違うダス!
わしとキクしゃんの恋愛物語なんダス!
240:デフォルトの名無しさん
08/08/23 08:37:58
かなりのおっさんがいる?
241:デフォルトの名無しさん
08/08/23 17:41:35
にぎりっぺ
242:デフォルトの名無しさん
08/08/23 18:58:42
ActivePerl v5.10.0 を使用しています。
LWP::UserAgent を使用して、たとえば URLリンク(mixi.jp) に接続すると、
Client-SSL-Warning: Peer certificate not verified がレスポンスヘッダに出てくるのですが、
これを解消するためにはどうすればよいのでしょうか。
243:デフォルトの名無しさん
08/08/23 19:16:50
Crypt::SSLeayを入れる
244:デフォルトの名無しさん
08/08/23 19:19:37
Crypt::SSLeay は 0.57 が入っていました。
245:デフォルトの名無しさん
08/08/23 21:01:55
OSはWindows2000でActivePerlについての質問です。
よくCPANから○○をとってきてインストールしろとか
みますが、Activeperlを使っている人は、PPMで
インストールできるモジュールしか使えないのでしょうか?
PPMのインストールのメニューに出てくるという意味です。
246:デフォルトの名無しさん
08/08/23 21:07:55
PPMを起動すると、
URLリンク(kazato.run.buttobi.net)
こんな画面がでてきて、ほしいファイルを右クリして
インストールする仕組みになっています。
これって誰が管理しているか知りませんが、
たぶんactivestate社がやってるんですよね。
で、PPMのメニューに出てこないものは
インストールできないのかなと。
247:デフォルトの名無しさん
08/08/23 21:09:17
最近perlも飽きてきた。
どの入門書読んでも、だいたい同じこと書いてあるから。
で、今日はレファレンスについて勉強してみようと思いますが、
グーグルで検索するときに、レファレンスなのでしょうか?
それとも、リファレンスなのでしょうか?
248:デフォルトの名無しさん
08/08/23 21:17:47
ぐぐれカスとも言えない新技だな
249:デフォルトの名無しさん
08/08/23 21:51:20
>>247
両方ぐぐれよ。
あるいはreferenceで。
250:デフォルトの名無しさん
08/08/23 22:12:34
>>245
やってやれないことはないけど、気合と根性が必要。
俺はPPMに無いものはCPANからアーカイブを取ってきてMinGW+nmakeでインストールしてる。
が、Windowsには類似のAPIがない、UNIXべったりのモジュールには苦戦してる。
(同じ機能はあってもAPIの仕様が全然違う)
251:デフォルトの名無しさん
08/08/23 23:53:26
セーブファイルをネット上に保存する、ってのは
かんたんにできるのかな。
アップローダーみたいな、、、っていうのかな?
print (FILE www.abc.com/abc.txt);
みたいな。
252:デフォルトの名無しさん
08/08/23 23:56:31
以下のように@とかそういうのを全部変換したくて延々書いているのですが、
速く処理出来るようにするにはどのようにしたらよいのでしょうか?
$str=~s/T/1/g;
$str=~s/U/2/g;
$str=~s/V/3/g;
$str=~s/W/4/g;
$str=~s/X/5/g;
$str=~s/Y/6/g;
・・・
$str=~s/@/(1)/g;
$str=~s/A/(2)/g;
$str=~s/B/(3)/g;
・・・
253:デフォルトの名無しさん
08/08/23 23:58:38
アロー演算子っていうのは、
ハッシュのレファレンスを表すときにしか
使わないんですか?
254:デフォルトの名無しさん
08/08/24 00:01:07
>>252
コーディングの行数を減らしたいってこと?
コンピューターの処理速度を速くしたいってこと?
255:デフォルトの名無しさん
08/08/24 00:03:32
$str=~tr/T-]/1-10/g;
$str=~tr/@-I/(1)-(10)/g;
これだと動かないかな。
256:デフォルトの名無しさん
08/08/24 00:15:10
use strict 'refs';
↑これって書かないと動かないの?
それとも、use strictを書けば、その中に含まれるの?
257:デフォルトの名無しさん
08/08/24 00:37:44
ha??
258:デフォルトの名無しさん
08/08/24 00:44:24
>251
自分のパソコンと相手のパソコンが繋がれてあったとして、
こちらのパソコンを操作するだけで相手のパソコンのHDDに書き込むことができるか?という問いに近い。
>252
ローマ数字に対応してるかどうか分からんけど、Unicode::Normalizeとかは?
ギャル文字の正規化めんどくせぇなあ……(ぼやき)
259:デフォルトの名無しさん
08/08/24 00:44:35
>>254
処理速度のほうです。
>>255
有り難う御座います。
$str=~tr/@-I/(1)-(10)/;
$str=~tr/@-H/1-9/;
上の方法では出来ず、下の方法では出来ました。
括弧を付ける方法とかあるんでしょうか?
260:側近中の側近 ◆0351148456
08/08/24 00:54:15
>>259
(っ´▽`)っ
$str=~tr/@-I/\(1\)-\(10\)/;
ではどうだ?
261:デフォルトの名無しさん
08/08/24 01:26:01
>260
そーゆーことじゃなくね?
262:デフォルトの名無しさん
08/08/24 01:53:33
# tr/// が、正規表現とは関係がなく、また文字列を置き換えるものでもないという点は FAQ にも程があるんでこれ以上は自分で調べてもらうとして。
sub to_arabic_number {
my $str = $_[0];
my @circles = qw/@ A B C D E F G H I
J K L M N O P Q R S/;
my @romanU = qw/T U V W X Y Z [ \ ]/;
my @romanL = qw/@ A B C D E F G H I/;
my $i = 1;
foreach (@romanL) {
$str =~ s/$_/$i/g;
$i++;
}
$i = 1;
foreach (@romanU) {
$str =~ s/$_/ $i/g;
$i++;
}
$i = 1;
foreach (@circles) {
$str =~ s/$_/ ($i)/g;
$i++;
}
return $str;
}
263:262
08/08/24 01:58:58
P.S. >>260 は釣りなのかネタなのか知らんが、武士の情けで見逃してやるから人生やり直して来い。
264:デフォルトの名無しさん
08/08/24 02:08:50
>>262
さすがにそのコードは人に見せられるレベルじゃないだろ…
265:デフォルトの名無しさん
08/08/24 02:10:41
>>262
有り難う御座います。
処理速度は遅いような気がするのですがどうでしょうか。
266:デフォルトの名無しさん
08/08/24 02:14:28
>>262よりは>>252のほうがいいと思うよ
267:デフォルトの名無しさん
08/08/24 02:20:31
>>262は嫌がらせ。
268:デフォルトの名無しさん
08/08/24 03:10:52
use feature qw( :5.10 );
use Time::HiRes 'sleep';
system q|cls|;
#----------------------------------
my @a;
@a=localtime;
sleep(.5);
say "\@a=@a[0..8]";
sleep(.5);
say "scalar(localtime)=",scalar(localtime);
sleep(.5);
say "localtime=",localtime;
sleep(.5);
localtimeという関数はホンマおもしろいなー
3通りもの出力があるんだから。
269:デフォルトの名無しさん
08/08/24 03:49:57
oracleにselect文を実行したときの取得レコード件数が知りたいんですが何か方法ありますか?
phpだとmysql_num_rows()とか便利なのあるんですけど、perlだとわかんないorz
270:デフォルトの名無しさん
08/08/24 04:00:20
エスパー期待してるんですか?
271:デフォルトの名無しさん
08/08/24 04:06:30
しゃぶりついてくるやつ期待してるんだろう。
272:デフォルトの名無しさん
08/08/24 04:17:54
いや、だから、
oracleにselect文を実行したときの取得レコード件数を
知るための関数でしょ?
273:デフォルトの名無しさん
08/08/24 04:18:41
ところで、ファイルに引数を食わせるときに、
スペース混じりの引数を食わせるには、
どうしたらいいですか?
274:デフォルトの名無しさん
08/08/24 04:42:39
URLリンク(www.aritia.org)
ここ読んでたら、なんか
日本語のファイル名も扱える
みたいじゃないですか。
どうやるの?
275:デフォルトの名無しさん
08/08/24 04:48:27
use feature qw( :5.10 );
system q|cls|;
#----------------------------------
"abcde" =~ m/b(.)d/ ;
say "$1";
↑これを実行すると、c、と出てきますが、
ここの$1は、ソースコードの、どこまで有効なの?
ずーっと後ろまで?
276:262
08/08/24 05:01:37
>>265
遅いよー。
括弧を考えず、一桁でいいなら tr/// のが高速。
でも文字列単位の置換、文字数の異なる置換に対応できない。
速度的には、サブルーチンにせず >>266 の言うように全部インラインで書いたほうがマシ。
@circle_patterns = ();
foreach (@circles) {
push @circle_patterns, qr/$_/;
}
# (以下必要なセットで繰り返す)
# とあらかじめ準備しておいて、
# 置換ループに入ったら、
$i = 1;
foreach (@circle_patterns) {
$str =~ s/$_/($i)/;
$i++;
}
# (以下必要な...略)
# などとやればちょっとは速くなる気がする。
置換対象が行数の多いファイルなら、一気読みで $str にひとつにまとめて突っ込んでしまうのも手。
データの傾向やらで効果的な最適化は変わるだろうから、いろいろ試して比較してみてね。
277:デフォルトの名無しさん
08/08/24 05:01:39
>>262
w
278:デフォルトの名無しさん
08/08/24 05:04:26
Win32::Soundとかっていう書き方、あるじゃないですか。
これってPerlの世界でのみ、通用するものなの?
それとも、一度おぼえたら、他の言語にいっても通用するの?
279:デフォルトの名無しさん
08/08/24 05:13:04
$str=~ s/[@-I]/($&)/g;
$str=~ tr/@-H/1-9/;
$str=~ tr/T-\/1-9/;
$str=~ s/[I]]/10/g;
280:デフォルトの名無しさん
08/08/24 05:15:05
$str=~ s/[@-I]/($&)/g;
$str=~ tr/@-HT-\/1-91-9/;
$str=~ s/[I]]/10/g;
281:デフォルトの名無しさん
08/08/24 05:16:29
>>276は嫌がらせの激遅コード
282:262
08/08/24 05:18:44
>>279
GJ
せっかくだからさらにちょっとだけ性能改善。
# 最近の perl では $& のオーバーヘッドってどうなってんだろね?
$str=~ s/([@-I])/($1)/g;
283:デフォルトの名無しさん
08/08/24 05:33:01
sでも文字クラスって使えるんだ?
284:デフォルトの名無しさん
08/08/24 05:54:56
>>269
$sth -> rows;
のことか?
285:デフォルトの名無しさん
08/08/24 08:47:06
うちのバイト募集に>>262みたいのが来たら、即座に却下だな。
つーか、ゴミでスレを埋め尽くすのはいいかげんやめておくれ。
286:デフォルトの名無しさん
08/08/24 11:02:53
初心者です。
配列かなんかに保持しておいて、ループさせるという考え自体は悪くない……ですよね?
よほど速度がクリティカルになる状況じゃなきゃ、そこまで酷いとも思えないし。
287:デフォルトの名無しさん
08/08/24 12:10:50
私初心者だけどクリティカルな状況でなければさほど酷くもなかろう
と言われましても。
288:デフォルトの名無しさん
08/08/24 12:13:55
こんなのはいかが
my @circles = qw/@ A B C D E F G H I J K L M N O P Q R S/;
my @romanU = qw/T U V W X Y Z [ \ ]/;
my @romanL = qw/@ A B C D E F G H I/;
my %hash = ();
%hash = (%hash, map { $circles[$_-1] => "($_)" } 1..20);
%hash = (%hash, map { $romanU[$_-1] => $_, $romanL[$_-1] => $_ } 1..10);
sub to_arabic_number {
my $str = shift;
$str =~ s/([@-ST-]@-I])/$hash{$1}/ge;
$str;
}
289:デフォルトの名無しさん
08/08/24 12:22:13
>>288
[参考になる+11]
290:デフォルトの名無しさん
08/08/24 12:54:50
>>288
やるならとことん逝こうぜ。個人的には%hashを全書き換えしてるのが気になる。
my @nums = (
[qw(@ A B C D E F G H I J K L M N O P Q R S)],
[qw(T U V W X Y Z [ \ ])],
[qw(@ A B C D E F G H I)]
);
my %hash = map {
my $num = $_;
map {$num->[$_ - 1] => "($_)"} 1..(scalar(@$num))
} @nums;
my $re = join("", map {$_->[0].'-'.$_->[$#$_]} @nums);
sub to_arbic_number {
local $_ = shift;
s/([$re])/$hash{$1}/geo;
return $_;
}
291:デフォルトの名無しさん
08/08/24 13:01:27
-------------
>>276
>>288
ありがとうございます。参考になります。
eって遅くなるのかと思って試してませんでした。
文字数によってはeを利用したほうが速くなりそうですね。
単純に-で繋げて表現出来ない文字列も多いので、eが有用というのは私的には!!でした。
色々試してみます。ありがとうございます。
-------------
>>280
>>282
ありがとうございます。そういう方法もあるのですね。一つ一つ書いていくより
かなり速くなりました。
I-Sの場合が無いのでまだ速度を比べられないのですが、この場合はどのよう
にしたらよいのでしょうか?
trではやはり2文字になるのでダメで、一つ一つ書いていく方法しか思い浮かば
ないのですが、方法はないのでしょうか?
292:デフォルトの名無しさん
08/08/24 13:04:26
■■学校を作ろう!■■
VIP発でサイトを作ろうと思うんだ。(詳しくはWikiを見てくれ)
パートスレになるんでパー速(GEP)に移動している。
今スタッフを募集しているから、来てくれないか?
■Wiki
URLリンク(www36.atwiki.jp)
■募集スタッフ
プログラム担当(特にErlang、Perl)
デザイナー(サイト上のアイコン、ロゴなど)
WEBデザイナー(サイトデザイン案に沿って、htmlやCSSを書ける)
他にも宣伝担当なども募集している。
■スレ
URLリンク(ex14.vip2ch.com)
293:デフォルトの名無しさん
08/08/24 13:07:34
見てもらったらわかるが、IRC・スレともに過疎って今にも潰れそうだから行かないほうがいいぞ
294:デフォルトの名無しさん
08/08/24 14:16:48
>287
具体的に何が悪いかを指摘せずに、ソースだけ書かれても
後から見た人は困るって意味さ
295:デフォルトの名無しさん
08/08/24 15:46:25
$str=~ s/([@-H])/($1)/g;
$str=~ s/([I-R])/(1$1)/g;
$str=~ tr/T-\@-HI-R/1-91-90-9/;
$str=~ s/]/10/g;
$str=~ s/S/20/g;
296:デフォルトの名無しさん
08/08/24 15:54:45
>>286
君はプログラミングは諦めて他の道へ進んだ方がいい
297:デフォルトの名無しさん
08/08/24 16:06:28
>296
質問スレで質問しちゃだめなん?
298:デフォルトの名無しさん
08/08/24 16:13:24
>>296
っていうか、来ないでくださいって感じ。
299:デフォルトの名無しさん
08/08/24 16:19:48
>>295
そういう方法がありましたか。まったく思いつかなかったです。
試してみます。有り難う御座います。
>>286
考え自体は全然悪くないと思います。
スピードよりも見やすさのほうが通常は大事だと私は思います。
どうやって見やすくかつ速く出来るかで悩みます。
でもどっちを優先するかは時と場合によります。
300:デフォルトの名無しさん
08/08/24 18:55:13
モジュールWWW::Mechanizeを使って、クッキーの送信と受信をしたいんだけどどうすればいいの?
301:デフォルトの名無しさん
08/08/24 20:24:11
質問です。Perlでファイルのアップロードをしようとして
フォームから値を送るサンプルを弄くってるのですが
my $local = $q->param('upfile');
my $fname = basename($local,"");
my $path = '.file';
my $newfile = "$path/$fname";
こういう感じでbasenameを使って、ウィンドウズ環境から上げると
パスが
.file/C:\Documents and Settings\Admin\デスクトップ\hoge.txt
となってしまい、ちゃんとアップできません。
他のサンプルとかでもこうやってるようなのですが
みなさんはどうやってるのですか。
302:デフォルトの名無しさん
08/08/24 20:30:13
すみません
my $path = '.file';
は
my $path = './file';
です
303:デフォルトの名無しさん
08/08/24 23:33:29
>>301
$local =~ tr|\\|/|g;
# or
$fname =~ s/(?:\\|\/)([^\\\/:*?"<>|]+?$)/$1/;
# 思いつきで書いた。どっちもその場しのぎ。当然テストなんかしてない。
304:デフォルトの名無しさん
08/08/25 00:40:39
>>303
まあ tr に g オプションはないよな
305:303
08/08/25 01:06:49
吊
306:デフォルトの名無しさん
08/08/25 01:40:11
まぁ、trを正規表現と勘違いしてるやつ多いよな……。
307:デフォルトの名無しさん
08/08/25 01:52:09
yでおk
308:デフォルトの名無しさん
08/08/25 06:35:23
perlちょっと飽きたかも。
入門書読んでも、どの本も
同じことしか書いてないし。
だいたい,スカラー変数の説明から始まって、
配列、ハッシュ、ループ、プリント文、あとなんだ、
サブルーチン、正規表現、こんな感じ。
あとはコンテキストがどうたらこうたら。
演算子の優先順位がどうとか。
309:デフォルトの名無しさん
08/08/25 06:39:17
あとは、if文、それと、正規表現で取得した文字列の再利用の方法とか。
あと入出力。それと、変数のスコープとか。
ファイルからの入力、ファイルへの出力。
再帰、引数利用の引数渡し。
それ以上難しいのは、グロブ、レファレンス、パッケージ、
モジュール、二次元配列、二次元ハッシュとかかな。
基本は1ヶ月もやれば覚えてしまうね。目新しさがないというか、
飽きる。「ああまたこれか」みたいな。
310:デフォルトの名無しさん
08/08/25 06:40:40
あと、->があったとき、
レファレンスとして使われている可能性と、
オブジェクト指向での記述として使われている可能性と、
2つあるの?
311:デフォルトの名無しさん
08/08/25 06:47:10
今なんか、おもしろそうな機能を発見したぜ
$\
use English: $OUTPUT_RECORD_SEPARATOR / $ORS
[入出力関連] 出力時の行末文字
デフォルト値は NULL です。
$\ の使い方
$\ = "\n";
print "Hello Perl World !";
↑これを使うと、行末文字を変更できるのだ
ということは「にょ」とかもできるはず。さっそくやってみよう。
312:デフォルトの名無しさん
08/08/25 06:49:15
$\ = "にょ";
print "おはよう";
さっそくやってみたぞ
実験結果
おはようにょ
成功!みごと成功したようだ!
313:デフォルトの名無しさん
08/08/25 07:32:03
>>308,309
飽きる原因
・理解してるのに同じ事を繰り返してる
・理解出来ないのに同じ事を繰り返してる
どっちも馬鹿には違いないがw
つか、入門書を何冊も読んでる時点で相当の馬鹿
>>311,312
チラウラカスうぜぇ
314:デフォルトの名無しさん
08/08/25 07:34:56
>・理解出来ないのに同じ事を繰り返してる
↓
何度も同じことを繰り返してるのに理解出来ない
の方が良かったな
失敬
315:デフォルトの名無しさん
08/08/25 08:19:00
スペースキーを押したら、次のメッセージが出る、
っていうのは,Perlでは実装できない?
Cのときはできたんだけど。scanfだっけ?
316:デフォルトの名無しさん
08/08/25 09:57:01
なんか、
スレリンク(prog板:297番)
このレベルの話があって、漏れは一回読んで意味がすぐ理解
できたんだけど、
スレリンク(prog板:298番)
みたいに、理解できない人もいるみたいなんだけど、
これってコミュニケーション障害?
317:デフォルトの名無しさん
08/08/25 10:45:32
>>316
俺もわからん。あんたがエスパーなんだろう。
というか板違い甚しい。他所でやってくれ。
318:デフォルトの名無しさん
08/08/25 11:02:52
1〜4 を 0、5〜9 を 10、11〜14 を 10、15〜19 を 20 といった具合に、
四捨五入したいのですが、どのように記述すればいいのでしょうか。
If 文でこつこつ書いて、あまりの多さにめげてしまいました。
319:デフォルトの名無しさん
08/08/25 11:45:56
>>318
sub round10 {
int(($_[0] + 5) / 10) * 10;
}
320:デフォルトの名無しさん
08/08/25 13:11:34
これ5を代入すると0になるな
321:デフォルトの名無しさん
08/08/25 13:31:10
効率いいかしらないけど・・・
print round(10);
sub round {sprintf('%.1f',($_[0] / 100 ))*100}
322:321
08/08/25 13:34:06
結構古いバージョンから問題なく動いてるコードなんだけど
そもそもsprintfって四捨五入するの保証してるのか不明デス
323:318
08/08/25 16:21:26
ありがとうございます。50行ぐらいあったコードがなくなってすっきりしました。
324:デフォルトの名無しさん
08/08/25 17:16:13
うちの環境だと、>>319は正当が出て、
>>321は、print round 15 すると答えが10が返る。
# ま、原因は浮動小数点の処理にあるのは明白なんだけど。
>>321氏は「その環境では上手く行ってたとしても別環境では上手く
行かない事がある」程度には認識した方が良いかと。
>>323
何故に50行?ベタ実装してもそんなに行は食わないだろ?
sub round {
my $t = chop ( my $i = shift ) ;
my %h = map{ $_, $_ < 5 ? 0 : 10 } 0..9 ;
( $i || 0 ) * 10 + $h{$t} ;
}
printf "%d->%d\n", $_ ,round $_ for 0 .. 30 ;
325:デフォルトの名無しさん
08/08/25 19:10:41
読めねーw
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4393日前に更新/239 KB
担当:undef