トップページ⇒tech
1001コメント315KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/02/20(木) 23:23:33.62
ここは長い間使われ今も有名企業で多数使用実績のある
Perlに関する質問スレです。

Perlに関することならなんでも質問してください。
以前はCGI関係はWEBプログラミング板とのことでしたが、
厳密に分けられることでもないので区別するのをやめようと思います。


【キチガイ荒らし警告】荒らしはスルーが一番です。
近頃キチガイが出没しています。普通の質問や回答に対して
頭が悪いなどという嫌がらせレスを短時間に数回行うのが特徴です。
またこのキチガイがいう「向こう」は存在しませんので
相手にせず、スルーして質問、回答をしてください。


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

http://www.perl.org/get.html
Download Latest Stable Source (5.18.1)

▼前スレ
Perlについての質問箱 62箱目
http://toro.2ch.net/test/read.cgi/tech/1385039352/
リンク集は >>2-3
Perl 日本語処理の基礎の基礎 >>4
0153デフォルトの名無しさん2014/03/07(金) 00:29:14.69
あなたの知識が詳しくないので教えません
0154デフォルトの名無しさん2014/03/07(金) 00:45:23.29
>>152
自分で考えろゴミ
人に頼るな
0155デフォルトの名無しさん2014/03/07(金) 00:52:55.28
公開されているWEBアプリを見る限り、どちらもほとんど使われていない
結局、一般のユーザーにとって使いづらいんだと思う
そんなおれはスクラッチ派
0156デフォルトの名無しさん2014/03/07(金) 01:04:07.32
カス2匹とまともな方1人か

ゴミはこのスレから立ち去ってほしいねぇ
0157デフォルトの名無しさん2014/03/07(金) 01:09:52.68
世の中無知な人間に情報を与える賢い人間は”いない”
0158デフォルトの名無しさん2014/03/07(金) 01:10:59.30
>>155
はテキトーなことを書き並べただけの初心者
0159デフォルトの名無しさん2014/03/07(金) 01:13:31.11
>>156
逆ギレする質問者乙
0160デフォルトの名無しさん2014/03/07(金) 19:45:41.97
>>157が端的に言ってて分かりやすい。

「〇〇で年収□□億円」って本みたいなもんだな
まともな人間なら他人に儲かる話なんか教えない
0161デフォルトの名無しさん2014/03/07(金) 21:01:14.66
このスレの住民だと使用者はいないと思われ
0162デフォルトの名無しさん2014/03/07(金) 22:31:51.01
比べられない。比べるものを間違えている。が正解。
0163デフォルトの名無しさん2014/03/07(金) 23:33:01.44
比べてくれと言った覚えはありません。結局みんなはCGIを使ってそうですね。
0164デフォルトの名無しさん2014/03/07(金) 23:54:12.36
>>157
「世の中無知な人間に情報を与える賢い人間は”いない” 」
という情報を無知な人間に与える>>157は賢い人間ではないということか。
面白いネタだね。

そして罠にはまる>>160
0165デフォルトの名無しさん2014/03/08(土) 07:06:06.37
俺たちはPlackとPSGIを混同しているレヴェルだからこのスレで聞いた奴に落ち度がある
0166デフォルトの名無しさん2014/03/08(土) 07:24:35.18
オブジェクト指向は実務にうまく合わないからどっちも使われないとか、な
0167デフォルトの名無しさん2014/03/08(土) 10:01:08.26
>>165-166
お前だけだろ。
0168デフォルトの名無しさん2014/03/08(土) 10:14:38.65
Perlはマジでゴミ

7000行近くあるコードでEOFエラー言われて修正まで5時間かかったよ
0169デフォルトの名無しさん2014/03/08(土) 11:30:49.08
>>168
お前まさか、少し前に沸いたPerl歴10年のベテラン()様か?
0170デフォルトの名無しさん2014/03/08(土) 11:35:51.42
>>168
墓穴ほったねw

それ、7000行あることが
根本的な問題だから。

それを作ったのはお前なわけで
ゴミはお前だよ。
0171デフォルトの名無しさん2014/03/08(土) 11:59:19.14
美しく仮想化してしまうと、書き心地や現実の要件に沿った拡張性という面で
実用性がなくなってしまう
結局、小難しいの一言だと思う
0172デフォルトの名無しさん2014/03/08(土) 12:05:54.54
>>170の馬鹿っぷりがヤバいなw

>7000行あることが問題

具体的に何行が問題か基準も言えない知恵遅れ
墓穴掘ったのが自分だと気付かないのかww
0173デフォルトの名無しさん2014/03/08(土) 12:12:56.13
具体的な行まで言っちゃったら>>170が墓穴掘るだけじゃなくて、掘った墓穴の中まで入っちゃうじゃん。
0174デフォルトの名無しさん2014/03/08(土) 12:16:04.17
たぶん、短いコードで5時間かかったと言ったら
能力不足(事実)だと思われるから
逆に長いコードを言ったんだろうな。
それがどれだけクソコードなレベルかもわからずに。
0175デフォルトの名無しさん2014/03/08(土) 12:30:40.22
Perl助成金の額が大幅アップしたらしいじゃねーか
お前ら、ちょっと良さげなコミュニティ作って金もぎ取ってこいよ
0176デフォルトの名無しさん2014/03/08(土) 12:37:56.64
7000->3500->1750->1000->500->250->125->70->35->17->8->4->2->1
5時間って、まさか、まさか???

Perl助成金て何?詳しくおせーて
0177デフォルトの名無しさん2014/03/08(土) 12:53:35.59
それ以前に>170は
エラー行すらまともに出せないバグ(出さない仕様?wwwwww)を
スルーしてる時点で埋まってる
0178デフォルトの名無しさん2014/03/08(土) 12:56:59.67
え?Perlって行数多いと正確なエラー行が出なくなるの?
産廃じゃんw
0179デフォルトの名無しさん2014/03/08(土) 13:42:19.72
単にエラーを読めないだけ(笑)
0180デフォルトの名無しさん2014/03/08(土) 13:55:00.35
助成金とかいわれちゃうと本当にオワコンかも...と考えてしまう

次期Perl、みたいな非Perlでも助成金でるのかな?
Perlと互換性のある、いい感じの言語、みんなも欲しいよね?
0181デフォルトの名無しさん2014/03/08(土) 14:11:54.39
なんだかんだいってPerlは生き残るでしょ
心配留守だけ無駄。
0182デフォルトの名無しさん2014/03/08(土) 14:27:43.67
Mojolicious::LiteとPlackはどちらも簡易サーバーだから、実用レベルのスクリプト
にするにはCGIで書き直す必要がある

○か×か?
0183デフォルトの名無しさん2014/03/08(土) 15:03:55.47
正解は×
なぜなら簡易サーバーではない
0184デフォルトの名無しさん2014/03/08(土) 15:07:27.41
そもそもCGIというのは
Common Gateway Interfaceの略な
0185デフォルトの名無しさん2014/03/08(土) 16:04:12.10
たかが7000行なのに5時間とかありえん
知的障害ある可能性が高いよ
0186デフォルトの名無しさん2014/03/08(土) 16:12:45.29
自称スーパーハカーの皆様、精神科にみてもらっては如何でしょう
0187デフォルトの名無しさん2014/03/08(土) 17:32:12.20
>>180
どうして助成金でオワコンと思うのだ・・・
お前の理論でいったら、もうオワコンだらけ
0188デフォルトの名無しさん2014/03/08(土) 17:38:02.55
だって、共産主義のにおいがするんだもん
0189デフォルトの名無しさん2014/03/08(土) 17:49:27.42
お前、GPLライセンスにも同じ事が言えんの?
0190デフォルトの名無しさん2014/03/08(土) 18:04:49.67
GPLはGPLで、別物。科学は人類共有のものだから。
0191デフォルトの名無しさん2014/03/08(土) 18:17:33.61
なんだこれ・・・
0192デフォルトの名無しさん2014/03/08(土) 18:43:46.54
エラー行が出ようが出まいが
Perlは言語仕様が欠陥だけらけでオワコン産廃だろ
0193デフォルトの名無しさん2014/03/08(土) 21:04:41.25
・エラーメッセージの日本語化
・perl5.5のセキュリティメンテナンス
・JPerlのperlへのマージ
助成金、思いつくことはまだまだあるなし
0194デフォルトの名無しさん2014/03/08(土) 21:35:45.14
Mojolicious::Liteをベースにして、足りない機能はPlack::Middlewareで補うのが吉
0195デフォルトの名無しさん2014/03/08(土) 21:58:33.73
何でゴミのメンテや日本語化をするの?
馬鹿じゃねw
0196デフォルトの名無しさん2014/03/08(土) 22:02:19.23
>>194
Perlを使わないのが吉
0197デフォルトの名無しさん2014/03/08(土) 22:23:12.85
で?
長いとエラー行が正常に表示されないゴミ言語Perlは
何行以下なら正常に表示されるって?
0198デフォルトの名無しさん2014/03/08(土) 22:35:55.33
Perlの欠陥をゴーダのスキルレベルの話にすり替えようとして失敗した>>170は遁走したのでその質問に回答が付くことはありません。
0199デフォルトの名無しさん2014/03/08(土) 22:50:29.70
遁走じゃなくて
自分で掘った墓穴に埋まってんじゃねW
0200デフォルトの名無しさん2014/03/08(土) 23:24:05.83
日本のIT産業発展のため糞言語を使っているゴキブリは駆除しなければならない
0201デフォルトの名無しさん2014/03/09(日) 01:39:23.59
エラー行すらいい加減なPerl哀れw
0202デフォルトの名無しさん2014/03/09(日) 01:52:43.76
>>193
最高で100万ほど貰えるらしい
がんばってくれ、軌道に乗った頃に混ぜてくれw
0203デフォルトの名無しさん2014/03/09(日) 02:05:41.42
JPEGのサイズを10%圧縮、Mozillaが新エンコーダー「mozjpeg v1.0」発表
>mozjpeg v1.0では、JPEG画像コーデック「libjpeg-turbo」のフォークに「jpgcrush」というperlスクリプトを追加した。
http://www.atmarkit.co.jp/ait/articles/1403/06/news115.html

まぁPerlすごいの知ってた。
0204デフォルトの名無しさん2014/03/09(日) 02:40:13.99
現在プログラム板のID制導入の投票を実施中です
よろしくお願いします

プログラム板 強制ID制導入に関する投票スレ
http://kohada.2ch.net/test/read.cgi/vote/1394290844/
0205デフォルトの名無しさん2014/03/09(日) 08:03:31.60
英語のエラーメッセージが読めないEOF君はらくだ本見れば、日本語の対訳が載ってるから
オブジェクト指向を導入しないのは長期的視点に立つと正しいと思うからさ
0206デフォルトの名無しさん2014/03/09(日) 08:30:25.33
・赤らくだ本の復刻
・Programming Perl 4th Ed. の翻訳
0207デフォルトの名無しさん2014/03/09(日) 09:31:14.95
・お金がないからできないこと
・能力がないからできないこと
能力はあるが、お金がないからできないことっていうのはプログラミングの領域では
存在しないと思う
だから助成金はドキュメントの作成とか、新人の育成とかに使われるんだろうな
英語メッセージの日本語表示(WEB APIでさくっと)なんかいいんじゃない?
あ、プログラミングか
0208デフォルトの名無しさん2014/03/09(日) 10:22:20.89
>>205
EOFにエラーがあるって出てそれがちゃんと読めてたとかじゃないの?
読めてなかったらEOFかどうかも分からんだろ
0209デフォルトの名無しさん2014/03/09(日) 11:16:25.33
EOFは読めました。小文字はまだ習っていないので読めません。
0210デフォルトの名無しさん2014/03/09(日) 14:49:29.37
>>207
お金=生活費、時間、人件費
って考えればわかるんじゃないか?

何かを買うために、お金が必要なんじゃないんだよ。
無料のソフトウェアを作っているならば、
ソフトウェアの販売でお金は入ってこないわけで、
その他の何かから収入を得なければ生活できないんだよ。
0211デフォルトの名無しさん2014/03/09(日) 14:57:28.91
一つのファイルで7000行あったとしても
関数単位で見れば、短いはずだよな。
(もし一つの関数で数千行あったらそれは完全にコードの問題)

括弧の対応が取れていないだけならば、
関数単位で削除していけば何処かでコンパイル通るわけで
それでわかると思うけどね。

まあこういう変則的なバグを見つけるときは
経験がものを言うわけよ。
言語に文句を言っているうちはまだまだってこと。
0212デフォルトの名無しさん2014/03/09(日) 14:59:29.91
EOFとかでるときは、コンパイル自体通らない=実行できないものなわけで
コンパイルすら通らないものを渡されたのならともかく、
コンパイルできたものを渡されるのが普通なわけで、
それがコンパイルできなくなったら自分の責任じゃん?
0213デフォルトの名無しさん2014/03/09(日) 18:28:29.89
Perl厨による歪んだPerl擁護が続いておりますが、初心者の方は他の言語を選択してください。
現在は以下の言語がPerlより優れています。

PHP
0214デフォルトの名無しさん2014/03/10(月) 00:41:28.10
>>210
能力のある無職、というところがどうも腑に落ちない
0215デフォルトの名無しさん2014/03/10(月) 01:57:05.49
PHPはプログラミングの入門用としては優れているけど、実用的なアプリケーション、
(例えば7000行以上の)を書こうとすると途端に破たんする
まあ、そもそもWeb専用だからそれは仕方ないけどね
0216デフォルトの名無しさん2014/03/10(月) 02:03:01.87
>>211
というか、そもそもPerlに限らず様々な言語で存在するからな
C/C++なんて更に#includeの仕様が絡んでくるから
括弧の対応で「なんだそりゃ?!」って場所でエラーになったりするし
0217デフォルトの名無しさん2014/03/10(月) 02:15:31.98
オワコン中学生はまだ他の言語を知らなくて、EOFガーっていってるだけ。気にすんな。
0218デフォルトの名無しさん2014/03/10(月) 09:09:33.31
それでブロックの最後の行はセミコロンあってもなくてもいいって珍ルールは解決されたの?
産廃だから解決されることはないかw
0219デフォルトの名無しさん2014/03/10(月) 09:19:23.03
珍ルール?
配列の値の最後のカンマは合ってもなくてもいいのと同じで
どの言語にもあるようなメジャーなルールでしょ?

単にセミコロンは、単語と単語を区切るためのものってだけで
最後につける必要がないだけなのにね。
0220デフォルトの名無しさん2014/03/10(月) 18:21:32.50
ついにID制が導入されるぽい!
これで少しは落ちつけばいいなぁ
0221デフォルトの名無しさん2014/03/10(月) 18:54:42.00
こうやって自治スレでもないのにスレ違いのIDの話をする基地害って何なんだろうな。
しかもム板は特殊扱いだから100%入らないのに。
0222デフォルトの名無しさん2014/03/10(月) 19:12:18.05
落ち着いても落ち着かなくてもゴミ言語はゴミ言語
0223デフォルトの名無しさん2014/03/10(月) 20:48:44.04
Perlの不具合・糞仕様って
指摘されると、それは〜〜言語にもある!とか言い出すよね
要するにPerlは他言語の不具合・糞仕様のかき集めってことだ
0224デフォルトの名無しさん2014/03/10(月) 21:17:15.67
Perlのセミコロンはステートメントターミネータじゃなくて、ステートメントセパレータな
何が難しくて理解できないのかさっぱり分からないけど
0225デフォルトの名無しさん2014/03/10(月) 22:52:14.48
セミコロンで躓いてるんならgrep辺りからはじめろよw
0226デフォルトの名無しさん2014/03/11(火) 04:01:25.76
Perl厨って>>220みたいなデマ流すマジキチばっかだよな
どういう教育受けてきたのか知らないけど
0227デフォルトの名無しさん2014/03/11(火) 23:38:46.59ID:eIGI5BMN
やったぜ!大勝利だッ!!!
0228デフォルトの名無しさん2014/03/12(水) 14:10:05.96ID:YdrqQMYG
ばっちでファイル群を一括処理したい時便利。
自分が使いやすいものを使えばいいだけなんだけどね
0229デフォルトの名無しさん2014/03/12(水) 22:24:32.70ID:Ep3X8sbh
ワロタw


220 名前:デフォルトの名無しさん[sage] 投稿日:2014/03/10(月) 18:21:32.50
ついにID制が導入されるぽい!
これで少しは落ちつけばいいなぁ

226 名前:デフォルトの名無しさん[sage] 投稿日:2014/03/11(火) 04:01:25.76
Perl厨って>>220みたいなデマ流すマジキチばっかだよな
どういう教育受けてきたのか知らないけど

227 名前:デフォルトの名無しさん[sage] 投稿日:2014/03/11(火) 23:38:46.59 ID:eIGI5BMN
やったぜ!大勝利だッ!!!
0230デフォルトの名無しさん2014/03/12(水) 23:22:31.75ID:AZrAiCEG
はいこれ

926 名前:名無しさん@涙目です。(チベット自治区)[sage] 投稿日:2011/08/19(金) 21:45:50.68 ID:wEWkakA10 [1/3]
ブサヨ沸きすぎ・・・
夜になると急に増えるな


944 名前:名無しさん@涙目です。(兵庫県)[] 投稿日:2011/08/19(金) 21:46:45.80 ID:SEJ/RJaf0 [2/2]
>>926
俺も思ったわ
平日の昼間はそんなことないのに
平日の夜と休日は異常に擁護が沸くよな
明らかに工作員が混じってる


968 名前:名無しさん@涙目です。(catv?)[] 投稿日:2011/08/19(金) 21:48:12.85 ID:QEsicRrM0 [3/3]
>>944
それ働いてるんじゃないの?
0231デフォルトの名無しさん2014/03/13(木) 01:19:41.82ID:aog9nClp
BASICもセミコロンはステートメントセパレーターだったよな
珍ルール氏はBASICを知らない世代なのか
0232デフォルトの名無しさん2014/03/13(木) 13:55:43.54ID:ZLHpPjTL
っと老害が呟いておりますがー?
0233デフォルトの名無しさん2014/03/13(木) 18:17:11.38ID:dhOx+ZLn
完全にセミコロンなしで書こう
0234デフォルトの名無しさん2014/03/13(木) 18:53:57.11ID:STwlQauD
古いコードのリファクタ/テスト構築やってるんだけど、
requireをコードブロックに閉じ込めることってできんかな?
こんな感じで:

require_guard 'foo.pl' => sub {...};

サブルーチン抜けるとrequireされる前の状態にもどる。
0235デフォルトの名無しさん2014/03/13(木) 20:33:13.87ID:aog9nClp
use Safe;
0236デフォルトの名無しさん2014/03/14(金) 08:48:00.52ID:a/c2QaPi
>>234
そのままGuard系ではダメか。
0237デフォルトの名無しさん2014/03/15(土) 13:22:19.38ID:rfF5gAad
require 使用後にその作用/副作用のすべてをなかったことにしたければ、system を
使うといい
関数に渡したかったパラメータは、コマンドラインのパラメータにする必要がある
02382342014/03/16(日) 02:42:06.18ID:vVzHhr8S
>>235-237
ありがと。

>>235 のSafe.pmが一番近そうだけどまるっと全部shareする方法がわからなかった。うーん。
>>236 読み込むのがクラスだといいんだけどね。ホントにベタなスクリプトをrequireしようとしてる。
>>237 関数っつーかファイルの中で危険な操作をしてるんで、そいつらをモックアップしようと思ってる。

ファイル構成こんなかんじ:

# t/test.t
use strict; use warnings;
use FindBin q($RealBin);
use Test::More;
my @f;
BEGIN { *CORE::GLOBAL::open = sub { push @f, ['open', @_] }; }
BEGIN { *CORE::GLOBAL::close = sub { push @f, ['close', @_] }; }
BEGIN { *CORE::GLOBAL::exit = sub { push @f, ['exit', @_] }; }
subtest untrust => sub {
require_ok "$RealBin/../untrust.pl";
is_deeply $f[0], ['open', 'FILE', '< /foo/bar'];
is_deeply $f[1], ['close', 'FILE'];
is_deeply $f[2], ['exit', 1];
};
done_testing();

# untrust.pl
print "untrust file";
open FILE, '< /foo/bar';
# do something to FILE
close FILE;
exit 1;
0239デフォルトの名無しさん2014/03/16(日) 17:58:17.34ID:Iua5BgL9
>>238
お前の無知さを綴るブログじゃねえからさっさと消えろ
0240デフォルトの名無しさん2014/03/16(日) 17:59:48.00ID:rHQmp5Mm
ID:Iua5BgL9はまたいつもの荒らしかね?
0241デフォルトの名無しさん2014/03/16(日) 19:37:37.50ID:+0w7Q/Uu
Perlとかいうオワコン言語をまだ使ってるプログラマは思考停止してる人だから

>>238は成長をやめた無価値プログラマ
0242デフォルトの名無しさん2014/03/17(月) 00:19:23.18ID:s2X3JNi9
ID:+0w7Q/Uu は、本当めちゃくちゃ荒らしまわってるなぁ・・・
好きなキーワードは「IT奴隷」かw
C++スレやら、C#やら、win32apiやら、rubyスレやら・・・
0243デフォルトの名無しさん2014/03/17(月) 01:39:00.00ID:KlTJlCJy
>>242
荒らしに言及するのも荒らしだよ
0244デフォルトの名無しさん2014/03/17(月) 03:45:35.92ID:0m9kjf7T
untrust.pl は exit 1; ではなくて 1; で終わるべき?require されるんだよね?
0245デフォルトの名無しさん2014/03/17(月) 03:50:11.62ID:0m9kjf7T
あ、いや *CORE::GLOBAL::open = とかしてしまって、FindBin や Test::More は
ちゃんと機能するのだろうか?
0246デフォルトの名無しさん2014/03/17(月) 05:33:44.39ID:H5XKt1R2
本日一発目のNGID入りました〜

ID:0m9kjf7T

>>244-245=池沼
02472342014/03/17(月) 08:07:32.36ID:Wq4qamiG
>>244
うん、untrust.plの例がマズかったね。ごめん。
ホントはuntrust.plの中でif文のネストした先が"exit 1"になってたり。
require_okして"exit 1"に向かうような異常系をテストすると、テストそのものが死んでしまう。
untrust.plをちゃんとtestできるよう書き換えろってのはその通りなんだけどさ。

>>245
一応上の例で、テストは通る。5.18.2。

んで、このrequireをひとつのテストファイルの中であとからなかったことにできないか
ってのが趣旨。untrust.plでuseしたモジュールのEXPORT引剥がしたり。
ネームスペース置き換えがただしそうなんだけど、Safe.pmで全部shareする方法が見当たらなかった。
0248デフォルトの名無しさん2014/03/17(月) 10:30:27.78ID:H5XKt1R2
>うん、untrust.plの例がマズかったね。ごめん。

ゴミが自己顕示欲満たすためだけに回答するからだろ。
お前は場を混乱させるしか能のないクズなんだからさっさと消えろ。
0249デフォルトの名無しさん2014/03/17(月) 10:59:24.24ID:qNLDgXjv
ゴミに回答するのもゴミレベルのクズ
ゴミの傷の舐めあいスレッドPerlスレ
0250デフォルトの名無しさん2014/03/17(月) 11:02:03.44ID:7M1i8Htu
ごみに粘着する自己矛盾
つまりそういうこと
0251デフォルトの名無しさん2014/03/18(火) 23:08:27.19ID:JRNBEOHz
perlの中でシェル呼び出しするときの環境変数を
あらかじめ設定したいんだけどどうしたらいい?

`LANG=C ls`
と毎回書きたくないんです
0252デフォルトの名無しさん2014/03/18(火) 23:50:10.84ID:eqcotLzm
$ENV{"LANG"}="C"
じゃ不満なの?
■ このスレッドは過去ログ倉庫に格納されています