Perlについての質問箱 63箱目

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2014/02/19(水) 23:36:23.29
CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板: http://kohada.2ch.net/php/

このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
荒らしはスルー推奨。

"The duct tape of the Internet" こと、Perlについての質問箱です。
"There's more than one way to do it" ということで、
Perlの奥深さについて皆で語り合い、追求してまいりましょう。

www.perl.org/get.html
Download Latest Stable Source (5.18.2)

▼前スレ
Perlについての質問箱 61箱目
http://toro.2ch.net/test/read.cgi/tech/1381561905/
Perlについての質問箱 62箱目
http://toro.2ch.net/test/read.cgi/tech/1385039352/
2017/01/04(水) 01:41:41.45ID:9INFfbdp
>>829
今ケツの穴が痛くてそれどころじゃない
2017/01/04(水) 02:01:46.64ID:Z6+Vp8du
菊初めか
お大事に
2017/01/04(水) 06:53:29.45ID:Em4GHsJE
今ケツの穴が痛くてモジュールのインストールができない

・・・まで読んだ
555デフォルトの名無しさん
垢版 |
2017/01/06(金) 01:50:49.12ID:0ickO96c
HTTP::Liteモジュール使うのと、ソケットでガチアクセスするのと、systemでwgetを実行するのではどれが一番速いですか?
2017/01/07(土) 02:02:58.42ID:lcjjTGwJ
HTTP::Liteは余計な処理がある分遅い、wgetはネイティブだがforkする分遅い。よってsocketかな
557555
垢版 |
2017/01/07(土) 04:12:05.32ID:8FKpQ8GY
>>556
ありがとうございます。
それではソケットでガチアクセスします。
558デフォルトの名無しさん
垢版 |
2017/01/09(月) 03:46:03.29ID:Ba0Z9f3i
ネトゲで寄生してくる香具師まじでウザい
レベルも装備も明らかに足りてないくせにパーティー入ってくるんじゃねーよ

前半はやる気を見せるためか最前線で敵に突っ込んでいって何度も即死
蘇生スキル持ちの職がいるとはいえMPも有限だし、死ぬと分かってるのに突っ込んで手間かけさせるな

後半は後ろからついてくるだけ
パーティーの人数によって敵の強さが変わるから、攻撃も回復もしない寄生虫一匹分、敵が強くなってるんだよ
まじでお荷物なんだが
559デフォルトの名無しさん
垢版 |
2017/01/09(月) 03:57:16.67ID:Ba0Z9f3i
そういう糞雑魚がパーティーに入れない(入ったとしてもデメリットが大きい)MMORPG作りたいんだけど、
PerlでMMOサーバー作れる?
そうした寄生のできないちゃんとしたMMORPGを作りたい
2017/01/09(月) 04:02:21.88ID:09YuDyyp
君には無理
561デフォルトの名無しさん
垢版 |
2017/01/09(月) 06:19:53.73ID:Ba0Z9f3i
誰とは質問言わないが、明後日の方向向いたレスしてる知的障がい者がいるな
Perlで作れるかどうかという質問なんだがな
Perl使ってると日本語すら理解できなくなるのか、それとももともと日本語を理解できない朝鮮人が紛れ込んでいるのか
2017/01/09(月) 06:23:50.50ID:09YuDyyp
どっちにしろ君には無理
563デフォルトの名無しさん
垢版 |
2017/01/09(月) 08:24:01.83ID:Ba0Z9f3i
自分にできないものだから、それをこじらせて
自分以外の人間全員できないと思うようになったのか
ここまでくると哀れだな
2017/01/10(火) 05:46:20.71ID:JXAVAbFC
ID:Ba0Z9f3i

俺もこいつには無理って意見に全面的に賛成するわ。
そもそもPerlで作るって発想が馬鹿。
2017/01/10(火) 08:17:16.04ID:lvul3mgx
それ以前にそもそもPerlなんてゴミを使おうと思う時点で馬鹿。
使い物にならない時代遅れの言語が候補に出てくる時点でプログラマとして致命的。
2017/01/11(水) 01:38:41.68ID:cSn92SSs
サーバーサイドをPerlで作ってるところはそこそこあるだろう
2017/01/11(水) 02:22:42.88ID:TF26KoMK
mmoでか?
インタプリタを?
2017/01/11(水) 18:54:09.92ID:FfNyKWnK
だから君には無理だって
perlでmmoサーバ作れないどころか想像すらできないみたいだし
2017/01/11(水) 18:59:46.49ID:9Pm7248G
俺は作れるかどうかを疑問視してるんでは無いと思うんだがな
>インタプリタを?
これをどういう風な意味に受け取ってるのかだろう
2017/01/11(水) 19:22:57.19ID:TF26KoMK
言語としてはPerlはチューリング完全を満たしています
最初に調べることだと思われますが
571デフォルトの名無しさん
垢版 |
2017/01/12(木) 16:15:10.55ID:5aplhP3Q
mmoサーバも作れないゴミ乙
言語がゴミなのか、perl厨がゴミなのか、それとも両方か
2017/01/12(木) 18:08:05.48ID:taUnzxu5
     (´・ω・`)
   /     `ヽ.   お薬増やしておきますねー
  __/  ┃)) __i |
/ ヽ,,⌒)___(,,ノ\


     (´・ω・) チラッ
   /     `ヽ.   
  __/  ┃  __i |
/ ヽ,,⌒)___(,,ノ\


     (´・ω・`)
   /     `ヽ.   今度カウンセリングも受けましょうねー
  __/  ┃)) __i |
/ ヽ,,⌒)___(,,ノ\
2017/01/13(金) 01:30:45.41ID:84sZuYo8
オンラインゲームを支える技術、中嶋謙互、2011、技術評論社

サーバの構築・運営、通信量など、
オンラインゲームのほぼ全工程を、説明した本です
大人数用MMOと少人数用P2Pの、両方について書いてある

確か言語は、C++ だったかな?
574デフォルトの名無しさん
垢版 |
2017/01/13(金) 11:59:30.05ID:lAI6bANo
そらそうだろ、Perlなんて電子産廃なんだからC系とかPHPになるだろうよ。
Perlで何かを作ろうってほうがおかしい。
2017/01/13(金) 16:26:16.86ID:w9nZHjQ8
PHPに代えたって意味無いじゃん
同様の理由でPythonも却下
2017/01/13(金) 17:31:55.77ID:knj8G1ZF
下らないことにはレス率が増えるこのレベルの低さよ
577デフォルトの名無しさん
垢版 |
2017/01/14(土) 01:50:24.44ID:dLK6O0iv
ウザいゴミ
2017/01/16(月) 14:17:17.64ID:pfhmv7nO
>>573
大規模なオンラインゲームだと
むしろJavaを使うんじゃないかな?
人集めしやすいし
2017/01/16(月) 18:16:40.64ID:dzrBWFk0
そんな重いことまずしない
2017/01/21(土) 22:44:51.61ID:axnp1ig/
>>559
おれなら作れる
581デフォルトの名無しさん
垢版 |
2017/01/22(日) 21:26:40.74ID:xYSgWZ/D
寄生できないmmoとか簡単そうだけどな

(1)死ぬたびに獲得経験値1/10
(2)3回死亡でダンジョンから強制排出&所持金半減&獲得経験値ゼロ
(3)経験値はパーティーメンバーの敵に与えたダメージ比率

(3)があれば身の丈に合ってないダンジョンの時点で経験値はほぼゼロ
ほぼゼロなところへ(1)があるから限りなくゼロに近くなる
寄生でダンジョンクリアだけしようにも(2)のハイリスクがある
582デフォルトの名無しさん
垢版 |
2017/01/24(火) 18:17:56.63ID:wudREosA
>>581
回復職やサポート職の経験値もなしということでしょうか。
2017/01/24(火) 18:48:47.54ID:tYWypKKw
昔はこれでアラーにならなかったのですが、perl5.8でこれを実行すると @{$_[2]}が原因でこけてるらしいです。
どのように変えればよいでしょうか
my ( @WdayArr ) = ( $_[2] )? @{$_[2]} : ( 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' );
2017/01/24(火) 22:39:27.02ID:zqYaLnZ2
>>583
# http://perldoc.perl.org/5.8.9/Scalar/Util.html
use Scalar::Util qw(reftype);

my @WdayArr = reftype($_[2]) eq 'ARRAY' ? @{$_[2]} : qw(Sun Mon Tue Wed Thu Fri Sat);
2017/01/24(火) 23:38:20.96ID:LKVAQWtm
>>583
$_[2]には何が入ってんだよ
2017/01/25(水) 08:15:46.34ID:1MVxS70E
>>584
ありがとうございます。やってみます。

>>585
曜日の文字を配列に指定する部分です。なければ、英語の曜日が入ります
2017/01/25(水) 09:09:34.94ID:WOhX0mTt
違う、そうじゃない
2017/01/25(水) 09:15:19.78ID:dJNPI+cJ
>>586
Perl 5.16.3 だが、下のスクリプトで1行目を入れても
消しても、きちんと動くぞ。
$_[2]に配列のリファレンス以外のものを入れたのだろう。
(エラーメッセージにそう書いてあるはずなんだが)
-----------------------------------------

$_[2] = [qw(a b c d e f g)];
my ( @WdayArr ) = ( $_[2] )? @{$_[2]} : ( 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' );
print @WdayArr;
589デフォルトの名無しさん
垢版 |
2017/01/25(水) 09:30:32.20ID:1MVxS70E
>>588
use strict;を指定すると参照ダメみたいなエラーが出るので
とりあえずuse strict;を外して応急処置しています。

参照渡しができなくなったんでしょうか
2017/01/25(水) 10:03:41.94ID:WOhX0mTt
こういう時はエラーメッセージをそのまま貼るのが正解
591デフォルトの名無しさん
垢版 |
2017/01/25(水) 10:20:22.46ID:1MVxS70E
このようなエラーが
Can't use string ("ARRAY(0x10b0458)") as an ARRAY ref while "strict refs" in use at obj.cgi
2017/01/25(水) 10:29:15.16ID:WOhX0mTt
ARRAY(0x10b0458) というのは配列リファレンスを文字列として評価した時に出てくる
関数の呼び出し元で配列をそのまま渡さずにダブルクォートで囲うなどして文字列化してしまっているのだろう
2017/01/25(水) 10:31:24.85ID:1MVxS70E
ありがとうございます。関数の実行側のほうを確認します。
594デフォルトの名無しさん
垢版 |
2017/01/28(土) 20:27:36.04ID:t13qO4X2
Perlはマジで糞だな
リファレンスはリファレンスで同じじゃねーの?
バックスラッシュ付けたリファレンスでも種類によって違うとか意味不明
2017/01/28(土) 20:37:05.87ID:7oV/H97Q
・・・?
2017/01/30(月) 08:35:21.14ID:CkOT0sBx
Cの共用体のようなことしなければ、
ある「型」のリファレンスは
その「型」のリファレンスのままでよい。
それ以外の使い方をすれば、「間違っている」として
エラーを吐いてくれるのが有難いではないか。

ただ、リストのリファレンスをハッシュの
リファレンスとして使いたい時(またはその逆)
がたまにあるが、それは可能にしてほしいと思う。
597デフォルトの名無しさん
垢版 |
2017/01/30(月) 15:21:11.69ID:MjhEgZic
# こういうのじゃいかんか?

my $ref_to_hash0 = +{ @{ $ref_to_array0 } };
my $ref_to_array1 = [ %{ $ref_to_hash1 } ];
2017/01/30(月) 21:42:50.47ID:kKFFvpaa
>>597
無駄なものがあって読みづらい

my $ref_to_hash0 = { @$ref_to_array0 };
my $ref_to_array1 = [ %$ref_to_hash1 ];

何がしたいのかわからん。
キーと値が交互に出てくるものを
ハッシュかリストに変換したいのか?
2017/01/30(月) 23:42:02.11ID:XappdU+s
my $ref_to_hash0 = { $ref_to_array0->@* };
my $ref_to_array1 = [ $ref_to_hash1->%* ];
600デフォルトの名無しさん
垢版 |
2017/02/04(土) 21:52:52.06ID:rb4WR6H/
Javaのクラス周りに慣れるとPerlのクラス周りは本当に不自由だと気付く
2017/02/04(土) 22:07:55.97ID:ydMztSgS
比較例に出すのにJavaのクラスなんぞを持ち出すのもどうかと
602デフォルトの名無しさん
垢版 |
2017/02/06(月) 09:40:35.12ID:ZiMti5cO
xp 32bit

xp対応のアクティブパール(ActivePerl)がダウンロードできないです

旧バージョンはどこからダウンロードできますか?
2017/02/06(月) 12:24:16.94ID:dMFd7Yq5
>>602
active perl old version
でググると、色々出てくるぞ。
実際、どれが使えるのかは知らんが。
2017/02/06(月) 14:58:39.49ID:q20moLVF
$str = "LIST( '2016123456','2015123456','2017987654',…)

という$strがあった時に、シングルクオートに囲まれた部分だけを取り出して
@listに突っ込みたいんだけどどう書いたらいい?
splitの正規表現でいけるかと思ったけどどう書いていいかわからない。
2017/02/06(月) 19:57:05.35ID:YzSDBsjI
>>602
5.16なら間違いなく使えてる
5.18と5,20はファイル名に64intがくっついてて動くかどうかはわからない
2017/02/06(月) 20:08:36.65ID:B4iHWGCu
今activesite見てきたら、まあ流し読みしかしてないけど、古いバージョンは有料で提供してやるよって買いてあった
2017/02/06(月) 20:13:46.71ID:B4iHWGCu
Need Perl on production servers or access to Perl 5.6, 5.8, 5.10, 5.12, 5.14, 5.16, 5.18 or 5.20?
Learn more about ActivePerl Business Edition

--------------------------------------------------------------------------------------------------------------------------

Get the language version you need on the platform you want. The following versions are available for purchase with Business Edition+:

ActivePerl 5.8, 5.10, 5.12, 5.14, 5.16, 5.18, 5.20, 5.22, 5.24
ActivePython 2.5, 2.6, 2.7, 3.2, 3.3, 3.4, 3.5
ActiveTcl 8.4, 8.5, 8.6
2017/02/06(月) 20:41:32.21ID:r2wSMn/A
>>604
push @list, $1 while $str =~ /'([0-9]+)'/g;
609デフォルトの名無しさん
垢版 |
2017/02/06(月) 20:55:17.22ID:oG8S/cPb
>>604
$str = "LIST( '2016123456','2015123456','2017987654',…)

$str =~ s/LIST/@list=/;
eval($str);

でいいんじゃね?
2017/02/06(月) 23:15:15.61ID:n09J3oc8
eval 怖ひ
2017/02/07(火) 00:35:10.28ID:S1oxUZhq
>>608
> push @list, $1 while $str =~ /'([0-9]+)'/g;

惜しいね。それやるならこうだよ

@list = $str =~ /'([0-9]+)'/g;
2017/02/07(火) 08:04:04.27ID:0+g59X+8
>>611
読みやすさなら上の方が良くね?

新人に引き継ぐ時の事考えると
2017/02/07(火) 08:39:30.86ID:5nFcePp/
>>602
2014年にダウンロードした
ActivePerl-5.16.3.1604-MSWin32-x86-298023.msi
を持っている。

ただ、Active State が古いバージョンを有償でのみ提供
しているのに、勝手に古いバージョンをうpしていいものか解らん。
そのあたり、クリアにしたら、どこかにうpしてやってもいいが。
2017/02/07(火) 10:26:02.92ID:NmaWW75y
m//g の形式でグローバルマッチの意味がないように思うが
2017/02/07(火) 12:23:47.76ID:5nFcePp/
>>614
m//g をリストコンテキストで使うと、
全てのマッチ部分のリストが返される。
2017/02/07(火) 16:36:45.75ID:pJfTbQRq
あると高速化できるようなrecommendsだけどインストールされていないモジュールを一覧出来る方法を教えて下さい
2017/02/07(火) 17:46:12.43ID:TrN1jB3j
>>602
googleでググったらすぐに見つかったけど?
https://xray-engine.org/index.php?title=ActivePerl
(このサイトは開くとき継続しますかって警告が出たんで
 ルート証明の認証に問題があるかも知れない
 一応Java ScriptとActiveXの実行は切ってアクセスしたほうがいいだろう)
一応俺が使ってる(XP 32bit)
ActivePerl-5.20.3.2003-MSWin32-x86-64int-299574.msi
をダウンロードして保存していたファイルと比較してみたけど一致したから問題ないと思う
あと、5.22.1も試してPerlとしては動いたので
現行ダウンロードできる5.22.3も大丈夫じゃないかな?
(インストーラがexeに変わってるけど)
あと俺が使えると言った5.22.1を何故使ってないかと言うと
WSHから何故か正常に使えなかったので、使える5.20.3を使ってる
2017/02/07(火) 20:35:38.79ID:k/sR8nQd
https://amaten.com/
こんなサイトの情報をテキストか何かで取得したい
LWP::Simple とかでは取ってこれない
何を使うと一番簡単にできる?
2017/02/07(火) 20:58:27.25ID:NmaWW75y
use IO::Socket;
2017/02/08(水) 01:47:50.85ID:lrXbOWPO
>>602
XPで動くかは試してないけど、Strawberry Perlっていうのもあるよ
どうしてもActivePerlじゃないとだめなの?
2017/02/09(木) 00:36:47.60ID:MB7d2iTo
おれ XP で Strawberry Perl つかってる
ActivePerl はモジュールの対応が遅いから乗り換えた
2017/02/09(木) 00:50:56.06ID:9TbyVJRb
むしろなぜXPを使ってるのか知りたい
2017/02/09(木) 01:09:37.56ID:EjItGpsn
>>617のところでActive Perlの古いのから最新まで全部ダウンロードできるじゃん
それで解決だろ
2017/02/09(木) 12:20:55.28ID:awPX9+44
>>622
M$に金を払うのが嫌だからだろう。
2017/02/09(木) 22:13:19.02ID:CNUBJX7I
>>624
それだけだったらLinuxやFreeBSDなどを使うって方法もあるだろ?

だからM$に金を払うのがいやだけど、MSのOSが好きという理由であるはずだ
もしくはMS以外のOSがクソだっていう可能性もあるけど
2017/02/09(木) 22:22:13.62ID:4ZcYgl3B
>>618
perlはもう進化が止まってるので、あんまり新しいことは出来ない
自分で作るなら別だけど

rubyやpythonなら整ってる筈
2017/02/09(木) 23:43:38.97ID:NyKrJWYT
進化が止まっている #とは
628デフォルトの名無しさん
垢版 |
2017/02/10(金) 07:05:20.49ID:SVdyXXtN
>>618
もう見てないだろうけど
HTML::TreeBuilder
HTTP::Daemon
LWP::UserAgent
WWW::Scripter
くらいでなんとかなると思うよ。簡単かどうかは知らんけど大体なんとかなってる。
629デフォルトの名無しさん
垢版 |
2017/02/10(金) 10:48:54.81ID:tdAYPVUl
最近はperlは余り聞かないな
中学生の時にはブームだったけど……。(何十年も前)

学校ではpython とかだと思う。C# java が主力?

とにかく、滅多に聞かないな
2017/02/10(金) 15:05:42.76ID:j8ygGIFR
Perlを罵倒したい人は、こちらにどうぞ

Perlについての罵倒スレ 63箱目
http://echo.2ch.net/test/read.cgi/tech/1392639772/
2017/02/10(金) 22:06:13.34ID:+KYQgfiL
Perlは全然進化しないからな
一年ちょっと前に6がでて音沙汰なし
7はいつ出るんだ?って状態
2017/02/10(金) 22:29:17.89ID:pJ/oSP18
ナイスジョーク
2017/02/11(土) 09:59:05.70ID:pXj4BwQB
まともな学校はcだろ。
2017/02/11(土) 11:05:50.36ID:ffoIlYEu
実用性を重視するならJava一択
635デフォルトの名無しさん
垢版 |
2017/02/11(土) 14:50:19.58ID:N4/UY6wx
>>631
6出てたのか?
知らなかったわ
2017/02/11(土) 15:18:36.75ID:p/3UeWk3
>>634
> 実用性を重視するならJava一択
それって言語の実用性じゃなくて
人材的な意味での実用性だよな

つまりJavaは色んな所で使われてる言語だから
Javaできますって言っておけば採用されやすい。
自分が実用性がある人間になりたいならJava一択
2017/02/11(土) 15:23:34.94ID:H7Znugc/
いい加減スレチ
2017/02/11(土) 15:50:08.46ID:ffoIlYEu
言語なんかいくつ修得してもいいんだから、大人しくJava勉強しとけ
2017/02/11(土) 17:33:33.41ID:tLczzgrK
何がなんだか仕様に混乱するから3つまでしか習得出来ません
4つめ覚えるとなにかを忘れます
2017/02/11(土) 21:11:41.56ID:y7nchZP8
621
> むしろなぜXPを使ってるのか知りたい

動作確認だよ
XPと10で動くならVistaでも7でも8でもでも動く可能性が高いから
いちいち全OSを揃えて動作確認すると
シロウトの趣味でアプリケーション開発するには荷が重すぎる
2017/02/11(土) 22:46:04.81ID:p/3UeWk3
いちいち全OSで動作させたいと思う理由は何?

サポートが終了しているXPで動作する必要はないし
Vistaも2017年4月までだ。シェアから考えれば切り捨てても十分だし

7と10で動作確認すればいいじゃん
2017/02/11(土) 23:02:42.86ID:ffoIlYEu
XPはまだ結構現役で残ってるぞ
2017/02/11(土) 23:33:55.67ID:p/3UeWk3
俺の周りに見たことない
2017/02/13(月) 12:16:27.67ID:vLa3XGqC
俺の周りでは、いまだにNT3.5.1を使ってる取引先があるのだが。
2017/02/13(月) 18:59:46.87ID:VKyPIbro
用途を特定した専用マシンみたいなのは、特にOSを入れ替えずにずっと使うな
測定機器や実験機器の一部とか、何かの制御用とか

ただ、そんなマシンは新しいソフトを入れたりもしないから、
互換性とかどうでもいい世界だけど
2017/02/17(金) 23:51:32.63ID:QUNiBjhs
以前こちらでお世話になった顔文字のど素人です。

$ perl -p -e 's/(..)/$1 /g;'
123456

12 34 56

恐縮ですが上記の逆(スペースの削除)をご指導願います。
00 06 fc 25 58 50 0a 00 54 92 31 03 49 46 88 d0 c6
    ↓
0006fc2558500a0054923103494688d0c6

よろしくお願いいたします _(_^_)_
647デフォルトの名無しさん
垢版 |
2017/02/18(土) 00:14:42.65ID:eUOj9Lyv
>>646
s/\s//g
2017/02/18(土) 00:53:08.66ID:UURjaLCm
>>646
死んだ方がいいレベル
2017/02/18(土) 00:58:30.39ID:np+iCDRO
とにかく学習しようという気がまったく見えないのが凄い
2017/02/18(土) 01:09:34.78ID:oWVhdX8p
普通1時間以内に学習を完了してそうなものを、10日以上経ってるぞ
651646
垢版 |
2017/02/18(土) 08:59:07.57ID:64GKa0+N
>>647
ど素人に有難うございました。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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