[過去ログ] Perlについての質問箱 64箱目 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
431: 2020/05/29(金)21:28 ID:Bk25Bwk1(2/2) AAS
実行ファイルはpl
モジュールはpm
そんな事も知らんのか(´・ω・`)
432
(1): 2020/05/29(金)21:36 ID:8nIWWcW2(1) AAS
perlはvimで書く。
お兄さんとの約束だよ。
433: 2020/05/29(金)21:38 ID:uRkXoYhe(2/2) AAS
mattnさんはパンツ履いて
434
(1): 2020/05/29(金)23:37 ID:GfVaVkMA(1) AAS
>>430
Linuxでは、いちいち拡張子をつけないのがふつう。
中身を気にしなくてよくなる。
435: 2020/05/30(土)00:29 ID:UYDx2q8r(1/2) AAS
>>434
cとかshellとか拡張子をつけるのが普通なんじゃないの?
436: 2020/05/30(土)00:31 ID:pcDYqVj5(1) AAS
ソースは付ける
実行ファイルは付けない
スクリプトはソースよりも実行ファイル寄り
437: 2020/05/30(土)00:42 ID:h6ZQaP0H(1) AAS
拡張子つければ伝わるであろう情報を削るとか
一人で管理してるサーバならいいけど
そうじゃなきゃ害悪だと思う
438: 2020/05/30(土)01:44 ID:UYDx2q8r(2/2) AAS
人間がエディトするファイルは付ける
人間がエディトしないファイルは付けないんじゃないの?
439
(2): 2020/05/30(土)01:51 ID:h49XlInt(1/4) AAS
運用においては、実行ファイルの実装方法なんかどうでもいい。
むしろ、実装方法を変えたら、ファイル名も変わるほうがはるかに害悪。

たとえば、シェルスクリプトをPerl スクリプトに変えただけで、そのスクリプトを使っているところをすべて変更しないといけなくなる。
440
(3): 2020/05/30(土)03:26 ID:k7WMMDxu(1) AAS
昔々 MS-DOS (更にそれの元になった CP/M)はファイル名に固定で3文字の拡張子があり、
それによって実行ファイルかどうかを判定していて、Windows はそれを引き継いでいるので
拡張子を使っているだけ。

UNIX系OSはそもそも拡張子という概念はなく、実行ファイルは実行パーミッションのビットが
立っているかどうかで判定していた。C言語のソースに .c を付けたりはするが、あれは拡張子
ではなく接尾辞で主に人間やそれを読むコンパイラ等がファイルの種別をファイル名から判断
するためにある。だからOSから見たら .c の部分に特別な意味はなくファイル名の一部でしかない。

Windows だと例えば .exe のファイルなら .exe を抜いた拡張子なしのファイル名を指定して
OSに実行させる事は可能だが、これはOSが拡張子部分を特別扱いしているからだ。
UNIX系OSではそのような方法では実行できずファイル名を全て指定する必要がある。xxx.pl なら
xxx.pl と指定する必要があり xxx のみでは実行できない。その代わり実行パーミッションが立って
いればファイル名がどうであろうともOSはそれを実行しようとする(実際に実行できるかどうかは
ファイルの内容による)。
441
(1): 2020/05/30(土)08:54 ID:Noe/rV9t(1) AAS
拡張子が無くても判定できるようにすればいいんじゃないの? Emacs みたいに。
442: 2020/05/30(土)12:16 ID:h49XlInt(2/4) AAS
>>441
つ fileコマンド
443
(1): 2020/05/30(土)13:18 ID:9sn/rA++(1) AAS
>>439
運用のために保守は犠牲にするんですか?
444: 2020/05/30(土)13:58 ID:h49XlInt(3/4) AAS
>>443
実装の変更は、保守の範囲ではない。
二次開発かな?w
445
(2): 2020/05/30(土)15:56 ID:CwCZ2prN(1) AAS
>>440
シェバン知らず?
446: 2020/05/30(土)18:54 ID:h49XlInt(4/4) AAS
>>445
>>440はその前の話やろ。
シェバンがあるだけで、テキストファイルが勝手に起動されたら恐ろしいわ。w
447: 2020/05/30(土)19:43 ID:GvMJ9/EG(1) AAS
>>432
おじいちゃん(´・ω・`)
448: 2020/05/31(日)02:15 ID:MeZ7svrP(1) AAS
言語変えて作り直すって、俺の感覚ではシステム置き換えのイメージだわ
コンパイル済みのバイナリならともかく、スクリプト言語動かすって環境づくりも入るじゃん
449: 2020/05/31(日)02:44 ID:pTVQa+4z(1/2) AAS
>>445
>>440に書いてあること読んでないだろ。
450
(1): 2020/05/31(日)03:40 ID:qe5b9Icc(1) AAS
その前って何?
だからシェバン使えば拡張子なんか使う必要はないってことだよ?
>>439みたいな書き換えはいらないってことを言ってる
あと自演して書き込みは見苦しいぞ
451: 2020/05/31(日)04:22 ID:fhA8y4ka(1) AAS
読解力理解力がなくて、複数から指摘されたからって、自演扱いで返すとは見苦しいぞ。
452: 2020/05/31(日)05:26 ID:pTVQa+4z(2/2) AAS
>>450
それ何のOSでの話?
453
(1): 2020/06/11(木)19:05 ID:5cioSHJn(1/3) AAS
「local $| = 1;」と言う記述見たんですけど、
「$|」の局所化って意味あるのでしょうか?
ただ単に「$| = 1;」と等価であり「local」を記述しても無駄な気がするんですけど、
私の勘違いでしょうか?

「local $| = 1;」とやることで、
そのファイルの出力だけみたいな感じになるのですか?
となると、
同プロセスなのに標準出力バッファが出力毎に別個に用意されてる事になってしまいますよね?

分かるかた教えてください。
454
(1): 2020/06/11(木)19:32 ID:zOJFiWlV(1/2) AAS
>>453
スコープを抜けたときに、もとの値に戻る。
455: 2020/06/11(木)19:37 ID:YKNmcAQr(1) AAS
横からだけど知らなかった…
毎回もとの値別変数で退避してた
456
(1): 2020/06/11(木)19:53 ID:L2GhQgnz(1/2) AAS
なんとなく直感的にグローバル変数だけだと思ってた
だから元の値を退避しておくという発想の方が自然
わざわざぶつけて便利に使おうという発想はいずれバグる
457: 2020/06/11(木)20:13 ID:5cioSHJn(2/3) AAS
>>454
レスありがとうございます。

「もとの値に戻る」と言う事は、a.plから参照される異なるスコープのb.pmがあり、
b.pmに「local $| = 1;」の記述があった場合、
b.pmに定義されたサブルーチンが呼び出される毎に、
「$| = 1;」と同等の処理が行われ、
戻る際には元の値がセットされるのでしょうか?
それとも、スコープによって異なる「$|」を、
標準出力側でスコープ毎に切り替えてるという事でしょうか?
458
(1): 2020/06/11(木)20:24 ID:L2GhQgnz(2/2) AAS
printする度に今見えてる$|が渡ってるんだろうな
459: 2020/06/11(木)21:09 ID:5cioSHJn(3/3) AAS
>>458
まぁ、そうですよね。無駄な処理になるし後者ですよね。
(OOP的に言うと、スコープ毎のインスタンスを参照的な)
ありがとうございました。
460: 2020/06/11(木)22:40 ID:zOJFiWlV(2/2) AAS
>>456
Perlにあっては「わざわざ」ではない。
localはダイナミックスコープ、my/ourはレキシカルスコープであることは意識しておくべき。
1-
あと 542 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.029s