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/
探検
Perlについての質問箱 63箱目
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2014/02/19(水) 23:36:23.29286デフォルトの名無しさん
2016/07/14(木) 20:15:06.51ID:GgJblQeZ Perlは本物のゴミ
文字すらまともに表示できないとか利用価値なし
文字すらまともに表示できないとか利用価値なし
287デフォルトの名無しさん
2016/07/14(木) 20:25:10.95ID:GgJblQeZ Perlのゴミなところ
文字「あ」すら表示すらできないためとてつもなくイライラする
文字「あ」すら表示すらできないためとてつもなくイライラする
288デフォルトの名無しさん
2016/07/14(木) 20:28:38.21ID:GgJblQeZ 明日納品なのに解決する兆しなし
こういうときは一から書き直すことも多いが何千行もあるシステムを明日までに書き上げられるわけもない
本当にPerlはゴミすぎる
こういうときは一から書き直すことも多いが何千行もあるシステムを明日までに書き上げられるわけもない
本当にPerlはゴミすぎる
289デフォルトの名無しさん
2016/07/14(木) 23:24:13.01ID:RqQ+21r9 だからバイナリで扱えと口が酸っぱくなるほど言ってきたわけで聞き入れないお前が悪い。
290デフォルトの名無しさん
2016/07/15(金) 08:14:17.03ID:rP1+mz2q 文字コードを理解してないだけでは・・・?
291デフォルトの名無しさん
2016/07/15(金) 08:34:29.93ID:XWIPLqFW テンプレの>>5 を誰かが勝手に変えたからだ。
元々はこうなっていた。
http://pc12.2ch.net/test/read.cgi/tech/1234181856/4
------------------------------------------------------------
# [Perl 日本語処理の基礎の基礎]
# このレスは、Windows の ActivePerl で日本語処理を行う場合のテンプレートです。
# このレスの内容をそのまま、UTF8 形式のソースファイルに保存して下さい。
# 入出力ともシフト JIS 形式のファイルまたは DOS 窓を想定しています。
# まず、以下の行を先頭に入れて下さい。
use utf8;
use open IO =>
元々はこうなっていた。
http://pc12.2ch.net/test/read.cgi/tech/1234181856/4
------------------------------------------------------------
# [Perl 日本語処理の基礎の基礎]
# このレスは、Windows の ActivePerl で日本語処理を行う場合のテンプレートです。
# このレスの内容をそのまま、UTF8 形式のソースファイルに保存して下さい。
# 入出力ともシフト JIS 形式のファイルまたは DOS 窓を想定しています。
# まず、以下の行を先頭に入れて下さい。
use utf8;
use open IO =>
292デフォルトの名無しさん
2016/07/15(金) 08:36:25.21ID:XWIPLqFW ありゃ?途中で切れちゃった。>>291のリンク先見てね。
293デフォルトの名無しさん
2016/07/15(金) 09:08:17.43ID:ATzxunsm とりあえず Data::Dumper と PerlIO::get_layers を使えば助けを求めるのに役立つと思うが
責任転嫁しかできないゴミに言ってもなぁ……
責任転嫁しかできないゴミに言ってもなぁ……
294デフォルトの名無しさん
2016/07/15(金) 12:22:26.70ID:XWIPLqFW >>285 それからな、
> ゴミPerl
> 産廃Perl
> 糞Perl
どれも、なかなかいいところを突いているが、ちょっと外れているな。
正解は「ガラクタ」だ。
Perl とは「pathologically eclectic rubbish lister」
(病的折衷主義のガラクタ出力装置)の 略なのだ。
> ゴミPerl
> 産廃Perl
> 糞Perl
どれも、なかなかいいところを突いているが、ちょっと外れているな。
正解は「ガラクタ」だ。
Perl とは「pathologically eclectic rubbish lister」
(病的折衷主義のガラクタ出力装置)の 略なのだ。
295デフォルトの名無しさん
2016/07/16(土) 12:58:34.75ID:STpjI2h3 インコード
使ったソースは
ウンコード
使ったソースは
ウンコード
296デフォルトの名無しさん
2016/07/17(日) 01:45:28.71ID:T2eP0LKz 内部エンコードはperl独特だよね。
扱えれば入力と出力がどんなエンコードだろうが無双出来るけど
扱えれば入力と出力がどんなエンコードだろうが無双出来るけど
297デフォルトの名無しさん
2016/07/17(日) 09:40:41.84ID:kAN9hSRv >>294
「Perl を愛する人にとっては」と前置きするのを忘れてるぞ。
「Perl を愛する人にとっては」と前置きするのを忘れてるぞ。
298デフォルトの名無しさん
2016/07/17(日) 13:59:57.99ID:D/SlpqZf まぁperlなんて使い物にならないでしょ
use utf8;付けたらそれまで文字化けしなかったUTF8の文字列が文字化けしたし
use utf8;付けたらそれまで文字化けしなかったUTF8の文字列が文字化けしたし
299デフォルトの名無しさん
2016/07/17(日) 14:42:10.28ID:F+fhoGjl なにその理論(笑)
まぁ使いにくいのは異論ないが
まぁ使いにくいのは異論ないが
300デフォルトの名無しさん
2016/07/17(日) 16:24:12.49ID:Cv1W2kE4 ではperlじゃないならなにがいいのかな。python?
rubyはパイプ記号が変なところで出てくるからちょっと違和感有り。
rubyはパイプ記号が変なところで出てくるからちょっと違和感有り。
301デフォルトの名無しさん
2016/07/17(日) 17:57:00.54ID:PyzTEoPA = パイプ記号
302デフォルトの名無しさん
2016/07/17(日) 17:57:53.58ID:F+fhoGjl 賭けてもいいが、文字コードが分からないのをPerlのせいにしてるやつが、
自分で1からプログラミングしたら壊滅的な状況になると思う。
自分で1からプログラミングしたら壊滅的な状況になると思う。
303デフォルトの名無しさん
2016/07/18(月) 02:39:59.89ID:e41bhxXR でも、かつて壊滅的な状況じゃなかったよね?
304デフォルトの名無しさん
2016/07/18(月) 03:14:08.10ID:GZVIgCur >賭けてもいいが、文字コードが分からないのをPerlのせいにしてるやつが、
>自分で1からプログラミングしたら壊滅的な状況になると思う。
意味不明な言動をする気違い。
「賭けてもいいが、腹が痛くなるのを残飯のせいにしてるやつが、
自分で1から料理したら壊滅的な状況になると思う。」
と言ってるのと同等で意味不明。
気違い。
>自分で1からプログラミングしたら壊滅的な状況になると思う。
意味不明な言動をする気違い。
「賭けてもいいが、腹が痛くなるのを残飯のせいにしてるやつが、
自分で1から料理したら壊滅的な状況になると思う。」
と言ってるのと同等で意味不明。
気違い。
305デフォルトの名無しさん
2016/07/18(月) 07:46:08.11ID:C0GpTohk 自分で料理出来るのであれば、残飯なんて最初から食べないよ…
残飯を食べるという事は、食べざろうえない理由があっての事だろうに…
残飯を食べるという事は、食べざろうえない理由があっての事だろうに…
306デフォルトの名無しさん
2016/07/18(月) 08:14:55.04ID:dOZOPpl8 すくなくとも腹痛を人のせいにしなくてすむんじゃね?
307デフォルトの名無しさん
2016/07/18(月) 14:09:08.76ID:UhcVRSnP 高級料理も残せば残飯になるのさ。
最後の姿を見ただけで、本来の姿を判断するのは
無能というもの。
最後の姿を見ただけで、本来の姿を判断するのは
無能というもの。
308デフォルトの名無しさん
2016/07/19(火) 09:36:50.47ID:BbD/ZGSl 文字コードが分からないのをPerlのせいにしてるのは馬鹿の上限を突破してるが、
腹痛を残飯のせいにするのは間違ってないだろう。食ったと言う意味では馬鹿だが
腹痛を残飯のせいにするのは間違ってないだろう。食ったと言う意味では馬鹿だが
309デフォルトの名無しさん
2016/07/19(火) 14:33:33.84ID:kU2ISgr0 どんなに文字コードを理解している人間でも文字をまともに扱えないピログラム言語の前では無力
その程度のことも分からないのかはたまたPerlがまともな言語だと錯覚しているのか
もし錯覚しているならば自分の使っている言語についてほとんど何も知らないということになる
まずはその自覚をすべきである
その程度のことも分からないのかはたまたPerlがまともな言語だと錯覚しているのか
もし錯覚しているならば自分の使っている言語についてほとんど何も知らないということになる
まずはその自覚をすべきである
310デフォルトの名無しさん
2016/07/19(火) 15:10:05.04ID:QuuYpuW+ 参考までに聞くけど、文字をまともに扱える言語って何?
311デフォルトの名無しさん
2016/07/19(火) 15:23:05.53ID:BbD/ZGSl 全行つっこみどころ満載なやつにかまってはいかん
312デフォルトの名無しさん
2016/07/20(水) 17:32:04.55ID:gGnx4FL9 んで俺も文字をまともに扱える言語がなにか気になるわけだが
310とは別人
310とは別人
313デフォルトの名無しさん
2016/07/20(水) 19:56:54.60ID:lrew/2ZZ 文字は知らんけど、
Perlってあらゆる面でPHPより劣ってるよな。
Perlってあらゆる面でPHPより劣ってるよな。
314デフォルトの名無しさん
2016/07/20(水) 20:04:27.70ID:y5BMpkOv PHPってHTML言語じゃないの?比較の対象にもならないと思うんだが。
rubyに負けてるというならまだわかるけど。
rubyに負けてるというならまだわかるけど。
315デフォルトの名無しさん
2016/07/20(水) 21:52:53.39ID:gGnx4FL9 PHPてあんた
316デフォルトの名無しさん
2016/07/20(水) 23:37:17.38ID:E+SEwayU >>314
HTML言語ってなんやw
HTMLに埋め込めるってだけでごく普通の
プログラム言語だぞ。
どれくらい普通かというと以下の機能が搭載されてる
・クラス
・インターフェース
・トレイト
・ラムダ
・クロージャー
・名前空間
・例外
・ジェネレーター
・ガベージコレクション
あと言語機能じゃないが、CLIプログラムの作成や
ウェブフレームワークなどもある。
HTML言語ってなんやw
HTMLに埋め込めるってだけでごく普通の
プログラム言語だぞ。
どれくらい普通かというと以下の機能が搭載されてる
・クラス
・インターフェース
・トレイト
・ラムダ
・クロージャー
・名前空間
・例外
・ジェネレーター
・ガベージコレクション
あと言語機能じゃないが、CLIプログラムの作成や
ウェブフレームワークなどもある。
317デフォルトの名無しさん
2016/07/20(水) 23:43:45.09ID:lrew/2ZZ >PHPってHTML言語
Perl厨は他の言語をロクに知りもしないで
敬遠してるんだろうな。
だからPerl厨はいつまで経っても
エンジニアとして半人前なのだろう。
Perl厨は他の言語をロクに知りもしないで
敬遠してるんだろうな。
だからPerl厨はいつまで経っても
エンジニアとして半人前なのだろう。
318デフォルトの名無しさん
2016/07/20(水) 23:47:10.52ID:E5afqhTD 309ではないがC言語。もちろんPerlもだ。
ついでなんで
s/ピログラム言語/プログラム言語/;
ついでなんで
s/ピログラム言語/プログラム言語/;
319デフォルトの名無しさん
2016/07/20(水) 23:55:15.99ID:gGnx4FL9 Cって純粋なC?
ご冗談を。
あれは何も文字を扱ってないよ。
自分で作って下さい、ってね。
ご冗談を。
あれは何も文字を扱ってないよ。
自分で作って下さい、ってね。
320デフォルトの名無しさん
2016/07/20(水) 23:58:27.03ID:gGnx4FL9 >>316
だからなに?
その機能'(笑)はわざわざ書かなくてはならないことなの?
だから文字の扱いに対してもおかしな考えを持つんだね。
文字を扱うのは言語の機能(笑)が大事なんだってね。
基本プログラムが出来ない人はスクリプトが持つ機能とやらに注目したがる。
自分でプログラミングできないからね。
だからなに?
その機能'(笑)はわざわざ書かなくてはならないことなの?
だから文字の扱いに対してもおかしな考えを持つんだね。
文字を扱うのは言語の機能(笑)が大事なんだってね。
基本プログラムが出来ない人はスクリプトが持つ機能とやらに注目したがる。
自分でプログラミングできないからね。
321デフォルトの名無しさん
2016/07/21(木) 00:13:43.65ID:qEfVH42B 普通のunix処理系にperlは入ってるけどPHPは入ってないでしょ。
Webプログラミングなんてどうでもいい。システムプログラミングとか
テキストマイニングしたいんだって動機から入るとぱっと見PHPは目に入らないよ。
紹介がWeb用ですなんだし。
幼児的に誹謗中傷しないで諭すコミュ力をつけたほうが。。
Webプログラミングなんてどうでもいい。システムプログラミングとか
テキストマイニングしたいんだって動機から入るとぱっと見PHPは目に入らないよ。
紹介がWeb用ですなんだし。
幼児的に誹謗中傷しないで諭すコミュ力をつけたほうが。。
322デフォルトの名無しさん
2016/07/21(木) 01:02:15.71ID:eeWcI0WT PerlとPHPを比較するって事自体、CGIの定番としてPerlが使われはじめた15〜20年ぐらい前の話だから
323デフォルトの名無しさん
2016/07/21(木) 02:09:41.10ID:vaQfL518324デフォルトの名無しさん
2016/07/21(木) 02:18:26.64ID:QEbE4SDT >>319
お前のいう文字は文字列のことか?
お前のいう文字は文字列のことか?
325デフォルトの名無しさん
2016/07/21(木) 09:47:01.78ID:oSsee0hG 質問者が言う文字だ
質問じゃなくて子供の八つ当たりに見えたが
質問じゃなくて子供の八つ当たりに見えたが
326デフォルトの名無しさん
2016/07/21(木) 10:12:11.24ID:wN4yZ2B5 普通のunix処理系wwww
普通てwwwwwwwwwww
こんな曖昧でいい加減な単語を使って反論になると思ってんのかwww
こんな客観的数値も示せない思い込みが根拠になるなら
普通の人間はPerlなんざ使わねーよwwwwwwwww
普通の人間はなwwwwwwwwwwwwwwwwwwwwwww
普通てwwwwwwwwwww
こんな曖昧でいい加減な単語を使って反論になると思ってんのかwww
こんな客観的数値も示せない思い込みが根拠になるなら
普通の人間はPerlなんざ使わねーよwwwwwwwww
普通の人間はなwwwwwwwwwwwwwwwwwwwwwww
327デフォルトの名無しさん
2016/07/21(木) 14:22:48.08ID:+jQ9eKqj perl-5.24.0.tar.gz 開いて見てみたけど
ソースはC言語で書かれているんだよね
作った人は「自分で作って下さい」を実行したんだろうね
ソースはC言語で書かれているんだよね
作った人は「自分で作って下さい」を実行したんだろうね
328デフォルトの名無しさん
2016/07/22(金) 00:54:29.43ID:ak+a/2Hs 文字を扱うのは人間。Perlが扱っているのは文字コードな。
329デフォルトの名無しさん
2016/07/22(金) 02:53:58.61ID:jSbimIDf >>316
post/getがよしなにスーパーグローバル変数(笑)に入ったり
何もしなくてもエラーがブラウザで見られたり(言語がhttpプロトコルを理解できてる?)
iniファイルで挙動が変わったり
ごく普通のプログラム言語からはかけ離れてるだろ
Javascriptの方がよっぽど普通なんだけどなぁ
post/getがよしなにスーパーグローバル変数(笑)に入ったり
何もしなくてもエラーがブラウザで見られたり(言語がhttpプロトコルを理解できてる?)
iniファイルで挙動が変わったり
ごく普通のプログラム言語からはかけ離れてるだろ
Javascriptの方がよっぽど普通なんだけどなぁ
330デフォルトの名無しさん
2016/07/22(金) 03:14:36.53ID:7iYsigKa > post/getがよしなにスーパーグローバル変数(笑)に入ったり
それは10年以上前の話だよw
知識止まってんなぁ。
それは10年以上前の話だよw
知識止まってんなぁ。
331デフォルトの名無しさん
2016/07/22(金) 03:31:19.54ID:jSbimIDf332デフォルトの名無しさん
2016/07/22(金) 04:41:07.53ID:7iYsigKa333デフォルトの名無しさん
2016/07/22(金) 09:01:23.54ID:jSbimIDf >>332
それはCGIとかがquerystringを環境変数へセットしてるだけであって(postは標準入力)
環境変数や標準入力、argsを読む機構はperlに限らずどの言語で備えてるでしょ。
デリミタも指定せずname[]のようなオレオレ仕様で勝手に解釈して予め変数に入れるのを
言語のレイヤーで行うのはphpぐらいしか思いつかない。
それはCGIとかがquerystringを環境変数へセットしてるだけであって(postは標準入力)
環境変数や標準入力、argsを読む機構はperlに限らずどの言語で備えてるでしょ。
デリミタも指定せずname[]のようなオレオレ仕様で勝手に解釈して予め変数に入れるのを
言語のレイヤーで行うのはphpぐらいしか思いつかない。
334デフォルトの名無しさん
2016/07/22(金) 09:13:02.54ID:7iYsigKa >>333
え?「思いつかない」ってだけ?w
え?「思いつかない」ってだけ?w
335デフォルトの名無しさん
2016/07/22(金) 09:14:42.73ID:DCfhc9fh PHPの話してる時点でズレてるとは思わんのかね
336デフォルトの名無しさん
2016/07/22(金) 13:21:21.28ID:9lWfzFCE いきなりなんの前触れもなかったし、何言ってんだ?と思ったら、PHPのdisりかよ。
知らんがな…
知らんがな…
337デフォルトの名無しさん
2016/07/22(金) 14:07:48.50ID:jisYPSD0 >セットしてるだけ
だけw
だけw
338デフォルトの名無しさん
2016/07/22(金) 14:50:50.79ID:jisYPSD0 言い訳が苦しくなってくると、最後に「だけ」を付加するPerl厨
窃盗犯が「ちょっと借りただけだろ」と言い訳するのと同じ
犯罪者と同じ思考パターンを有するPerl厨
ちなみに犯罪者と同じ思考パターンを持つヴァカがPerlを選ぶのか
Perlを使ってるうちに犯罪者と同じ思考パターンを持つようになるのかは不明
どちらにせよPerl厨はヴァカで犯罪者予備軍ということに変わりはない
まともな人間はPHPを選ぶ
窃盗犯が「ちょっと借りただけだろ」と言い訳するのと同じ
犯罪者と同じ思考パターンを有するPerl厨
ちなみに犯罪者と同じ思考パターンを持つヴァカがPerlを選ぶのか
Perlを使ってるうちに犯罪者と同じ思考パターンを持つようになるのかは不明
どちらにせよPerl厨はヴァカで犯罪者予備軍ということに変わりはない
まともな人間はPHPを選ぶ
339デフォルトの名無しさん
2016/07/22(金) 22:02:06.14ID:ZdAo90QB 今時仕事にも趣味にも役に立たないPHP選ぶバカはいないだろ
340デフォルトの名無しさん
2016/07/22(金) 23:10:31.36ID:jSbimIDf >>334
php以外の該当する言語を一つあげるだけで完全に論破できるチャンスだよ!
php以外の該当する言語を一つあげるだけで完全に論破できるチャンスだよ!
341デフォルトの名無しさん
2016/07/22(金) 23:38:00.41ID:SRU6z2ZT はいはい。犯罪者予備軍ね。NGにしときますわ。
やりたいことやりたい人は処理系にこだわりはないのにアホか。
コード書けない中学生がVBよりVCと言ってるのと変わらんわ。
やりたいことやりたい人は処理系にこだわりはないのにアホか。
コード書けない中学生がVBよりVCと言ってるのと変わらんわ。
342デフォルトの名無しさん
2016/07/23(土) 01:01:50.42ID:tWjtYIW6 >>340
逆だろ?
PHPが他の言語と一緒だということを証明するために
他の言語でもあるような機能を言う。
PHPは他の言語と同じであることを示すことが、正しい論破の仕方だ。
PHPは「他の言語+αの機能」であるという事実に対して
それと同じものを出すことで、何を論破することになるのか?
逆だろ?
PHPが他の言語と一緒だということを証明するために
他の言語でもあるような機能を言う。
PHPは他の言語と同じであることを示すことが、正しい論破の仕方だ。
PHPは「他の言語+αの機能」であるという事実に対して
それと同じものを出すことで、何を論破することになるのか?
343デフォルトの名無しさん
2016/07/23(土) 02:01:49.49ID:bOUqJlZz そろそろ邪魔くさくなったから消えてほしい
劣等感のかたまりは迷惑関係なく必死で長所をアピールしはじめるってね
適切なスレでやってくれんかね
劣等感のかたまりは迷惑関係なく必死で長所をアピールしはじめるってね
適切なスレでやってくれんかね
344デフォルトの名無しさん
2016/07/23(土) 02:30:45.09ID:Z+5onCph 嫌なら見なければいいのに
他人にあっちいけとか指示する池沼っているよな。
自己中心的な池沼のお手本。
他人にあっちいけとか指示する池沼っているよな。
自己中心的な池沼のお手本。
345デフォルトの名無しさん
2016/07/23(土) 08:35:47.91ID:rC+TU0A1 他プロセスでファイルをopenしているときにそのファイルをrenameしようとすると
renameできないみたいだけどうまくrenameする方法は?
renameできないみたいだけどうまくrenameする方法は?
346デフォルトの名無しさん
2016/07/23(土) 10:06:58.15ID:I+uJVTmO close
347デフォルトの名無しさん
2016/07/23(土) 11:14:44.62ID:rC+TU0A1 >>346
それだとopenとcloseする間にrenameが割り込むとだめ
そこで自分で方法を考えました
まずディレクトリにaccess_kinshi.datというファイルを作ります
このファイルが存在している間は他プロセスでこのディレクトリにあるファイルは全てアクセスできないものとする
そしてディレクトリ内にあるファイルを全てrenameする
そのあとaccess_kinshi.datファイルを削除すればいいということです
それだとopenとcloseする間にrenameが割り込むとだめ
そこで自分で方法を考えました
まずディレクトリにaccess_kinshi.datというファイルを作ります
このファイルが存在している間は他プロセスでこのディレクトリにあるファイルは全てアクセスできないものとする
そしてディレクトリ内にあるファイルを全てrenameする
そのあとaccess_kinshi.datファイルを削除すればいいということです
348デフォルトの名無しさん
2016/07/23(土) 11:20:06.22ID:I+uJVTmO 前提条件が変わってますけど
349デフォルトの名無しさん
2016/07/23(土) 15:21:23.54ID:bOUqJlZz 他のプロセスってなに?
どっちもPerlで自分の作った物なら、ファイルロックでも使うと良い。
自動待機してくれる
どっちもPerlで自分の作った物なら、ファイルロックでも使うと良い。
自動待機してくれる
350デフォルトの名無しさん
2016/07/23(土) 19:27:38.24ID:IQFGkMCr 後方参照で教えていただきたいことがあります。
A 80 90
(空白の部分はタブかスペース)
と書いてあるファイルの80とか90の部分を書き換えたいのです。
perl -pe 's/^([A-Z])(\s+)([0-9]{2})(\s+)([0-9]{2})/$1$2$3$4$5/' file で
マッチした部分を参照できるのはわかっているのですが、この場合$3の「80」を「1」にするには
どのような方法をとればよいでしょうか?
perl -pe 's/^([A-Z])(\s+)([0-9]{2})(\s+)([0-9]{2})/$1$21$4$5/' file とすると
$21と解釈されるようで結果がA 90となってしまいます。
A 80 90
(空白の部分はタブかスペース)
と書いてあるファイルの80とか90の部分を書き換えたいのです。
perl -pe 's/^([A-Z])(\s+)([0-9]{2})(\s+)([0-9]{2})/$1$2$3$4$5/' file で
マッチした部分を参照できるのはわかっているのですが、この場合$3の「80」を「1」にするには
どのような方法をとればよいでしょうか?
perl -pe 's/^([A-Z])(\s+)([0-9]{2})(\s+)([0-9]{2})/$1$21$4$5/' file とすると
$21と解釈されるようで結果がA 90となってしまいます。
351デフォルトの名無しさん
2016/07/23(土) 19:32:51.24ID:sc8oJJPG シェルスクリプトと同じで、{} で変数名を明治する。
/${1}${2}1${4}${5}/
/${1}${2}1${4}${5}/
352デフォルトの名無しさん
2016/07/23(土) 19:41:00.25ID:IQFGkMCr353デフォルトの名無しさん
2016/07/23(土) 20:22:22.12ID:rC+TU0A1 >>349
他プロセスとは同じプログラムを複数で同時実行したやつです
それとファイルロックだとディレクトリにあるファイル1つ1つにロックしなきゃならないので
ディレクトリにあるファイル全てにアクセス禁止するために
アクセス禁止用ファイルを作りました
他プロセスとは同じプログラムを複数で同時実行したやつです
それとファイルロックだとディレクトリにあるファイル1つ1つにロックしなきゃならないので
ディレクトリにあるファイル全てにアクセス禁止するために
アクセス禁止用ファイルを作りました
354デフォルトの名無しさん
2016/07/23(土) 20:22:25.35ID:erGYoQ8z スクリプトを動かすときは、「動きますように」と昭和する。
355デフォルトの名無しさん
2016/07/23(土) 20:41:29.11ID:KzTkH9Ph 自分で考えているというのは大変良いことだと思うけど、聞きたいことがあるなら
環境くらいは書いてくれないと……
それに、使用中のファイルを rename することの何が問題なのかさっぱり解らない。
まず、何をするプログラムなのかを書いた方がいいと思うよ。
環境くらいは書いてくれないと……
それに、使用中のファイルを rename することの何が問題なのかさっぱり解らない。
まず、何をするプログラムなのかを書いた方がいいと思うよ。
356デフォルトの名無しさん
2016/07/23(土) 22:25:30.57ID:rC+TU0A1 a
357デフォルトの名無しさん
2016/07/23(土) 22:36:22.09ID:rC+TU0A1 なんか書き込こもうとするとエラーが出て書き込めないわ
358デフォルトの名無しさん
2016/07/23(土) 22:48:53.55ID:rC+TU0A1 ようするに
てすと1シージーアイ
OPEN(IN、”あああ.DAT”);
すりーぷ(5);
cLOSE(IN);
てすと2シージーアイ
リネーム(”あああ.DAT”、”AAA。DAT”);
これを同時実行してもリネームはできなかったってこと
てすと1シージーアイ
OPEN(IN、”あああ.DAT”);
すりーぷ(5);
cLOSE(IN);
てすと2シージーアイ
リネーム(”あああ.DAT”、”AAA。DAT”);
これを同時実行してもリネームはできなかったってこと
359デフォルトの名無しさん
2016/07/23(土) 22:51:17.71ID:rC+TU0A1 同時実行って言ったけど先にてすと1の方を起動して5秒以内にてすと2を起動です
360デフォルトの名無しさん
2016/07/23(土) 23:18:44.54ID:eYAwBGPh 他のプロセスが開いているファイルを、更新できるわけないだろ
2つのプロセスで、ファイル共有できるのは、read & read、の組み合わせだけ。
read & write, write & read, write & write は、共有できない
2つのプロセスで、ファイル共有できるのは、read & read、の組み合わせだけ。
read & write, write & read, write & write は、共有できない
361デフォルトの名無しさん
2016/07/23(土) 23:40:01.25ID:sc8oJJPG >他のプロセスが開いているファイルを、更新できるわけないだろ
何を前提に話してんだ?
更新出来るから、ファイルロックなぞの方法が開発されたんじゃねーの?
$ for i in 1 2 3 4 5 ; do
> perl -le 'open my $f, q{>>}, q{foo.txt} ; print $f q{foo} ; sleep 2' &
> done
$ cat foo.txt
foo
foo
foo
foo
foo
何を前提に話してんだ?
更新出来るから、ファイルロックなぞの方法が開発されたんじゃねーの?
$ for i in 1 2 3 4 5 ; do
> perl -le 'open my $f, q{>>}, q{foo.txt} ; print $f q{foo} ; sleep 2' &
> done
$ cat foo.txt
foo
foo
foo
foo
foo
362デフォルトの名無しさん
2016/07/23(土) 23:51:16.68ID:tWjtYIW6363デフォルトの名無しさん
2016/07/23(土) 23:55:37.22ID:sc8oJJPG364デフォルトの名無しさん
2016/07/24(日) 00:40:44.17ID:9mJaMPLw 更新できるのは、同一プロセス内のマルチスレッドだろ
だから、マルチスレッド・プログラミングは難しい
だから、マルチスレッド・プログラミングは難しい
365デフォルトの名無しさん
2016/07/24(日) 01:05:08.31ID:IyAH6Xir ファイイルロックのモードは2より5のノンブロッキングの方が軽いですか?
366デフォルトの名無しさん
2016/07/24(日) 01:16:29.25ID:p8SJSbCV367デフォルトの名無しさん
2016/07/24(日) 02:10:22.95ID:8SIezcUV 上の2行は頭いいように見えたが
下の2行でホントに頭が悪い人だと思った。
誹謗癖はやめようね。嫌われるよ。というかすでに嫌われてると思うけど。
下の2行でホントに頭が悪い人だと思った。
誹謗癖はやめようね。嫌われるよ。というかすでに嫌われてると思うけど。
368デフォルトの名無しさん
2016/07/24(日) 02:12:06.72ID:p8SJSbCV >>367
正しいのか間違っているのかをいえよ。
正しいのか間違っているのかをいえよ。
369デフォルトの名無しさん
2016/07/24(日) 03:52:51.83ID:9mJaMPLw ノンブロッキングは、Node.js などが並行処理で、リクエストを受け付ける場合に使う。
こういうのは、プロ中のプロが使うもので、プログラムも順序通りには進まないから、
プログラミングが極めて難しい(イベントドリブン)
初心者は、ブロッキングを使え。
プログラムは一本道で、順序通りに進む
こういうのは、プロ中のプロが使うもので、プログラムも順序通りには進まないから、
プログラミングが極めて難しい(イベントドリブン)
初心者は、ブロッキングを使え。
プログラムは一本道で、順序通りに進む
370デフォルトの名無しさん
2016/07/24(日) 04:07:39.30ID:p8SJSbCV ※ただしマルチタスクOSじゃない場合に限る
371355
2016/07/24(日) 10:28:35.84ID:K5Ja97DP >>358
少なくとも Linux では問題なく rename できるよ。
rename できないというのはシステムコールのマニュアルに書いてあるの?
テストのやり方に問題は無かったの? こんなふうに同期させた方がいいと思うんだけど。
https://ideone.com/639PgP
少なくとも Linux では問題なく rename できるよ。
rename できないというのはシステムコールのマニュアルに書いてあるの?
テストのやり方に問題は無かったの? こんなふうに同期させた方がいいと思うんだけど。
https://ideone.com/639PgP
372デフォルトの名無しさん
2016/07/24(日) 22:44:38.60ID:IyAH6Xir このようにflockをネストするのは問題ありますか?
open(IN, "< $datafile");
flock(IN, 1);
open(IN2, "< $datafile2");
flock(IN2, 1);
close(IN2);
close(IN);
open(IN, "< $datafile");
flock(IN, 1);
open(IN2, "< $datafile2");
flock(IN2, 1);
close(IN2);
close(IN);
373デフォルトの名無しさん
2016/07/25(月) 18:20:04.46ID:tVy4ghQr >>371
windows環境だけどopen中のファイルのrenameはできなかった
例えばtestディレクトリがあって、プロセスAでtestディレクトリにあるファイルのrenameやファイルの作成、
プロセスBでtestディレクトリを削除するとした場合
testディレクトリにファイルが残っているとrmdirが成功しないのでtestディレクトリを削除できない
unlinkでtestディレクトリのファイルを全て削除してからtestディレクトリを削除しようとしても
その間にプロセスAでファイルが作成された場合ディレクトリを削除できない
だからディレクトリそのものをロックしたいっていうこと
windows環境だけどopen中のファイルのrenameはできなかった
例えばtestディレクトリがあって、プロセスAでtestディレクトリにあるファイルのrenameやファイルの作成、
プロセスBでtestディレクトリを削除するとした場合
testディレクトリにファイルが残っているとrmdirが成功しないのでtestディレクトリを削除できない
unlinkでtestディレクトリのファイルを全て削除してからtestディレクトリを削除しようとしても
その間にプロセスAでファイルが作成された場合ディレクトリを削除できない
だからディレクトリそのものをロックしたいっていうこと
374デフォルトの名無しさん
2016/07/26(火) 08:16:09.27ID:Yl3q3y9J >>372
問題ない
問題ない
375デフォルトの名無しさん
2016/07/26(火) 13:18:10.17ID:0CGOQrnU >>373
そういうことを先に書いてくれないと……
そうか、Windows ではできないのか……
プロセスAの処理が終わるまでプロセスBを待たせておきたいということなら
普通に mkdir でどうでしょう。可搬性も高い排他制御の定番です。
そういうことを先に書いてくれないと……
そうか、Windows ではできないのか……
プロセスAの処理が終わるまでプロセスBを待たせておきたいということなら
普通に mkdir でどうでしょう。可搬性も高い排他制御の定番です。
376デフォルトの名無しさん
2016/07/26(火) 13:54:47.54ID:M5KaPrwS377デフォルトの名無しさん
2016/07/26(火) 18:01:31.91ID:0CGOQrnU 何が目的でそのための何をしている状況なのかというのがいまだに理解できないんだけど、
そもそもそんな状況にしないやり方を考えた方がいいのかもしれない。
どうしても排他制御が必要なら例えばデータベースを使うというのは Windows でも出きると思う。
Windows のことは知らないからこれ以上はお役に立てそうに無い。
そもそもそんな状況にしないやり方を考えた方がいいのかもしれない。
どうしても排他制御が必要なら例えばデータベースを使うというのは Windows でも出きると思う。
Windows のことは知らないからこれ以上はお役に立てそうに無い。
378デフォルトの名無しさん
2016/07/27(水) 02:23:44.17ID:8IadtePG 簡単に言うとディレクトリをmkdirで削除したいけど
削除しようとしている間にディレクトリ内にファイルを作られるとmkdirできなくて削除できないので
ディレクトリ内にファイル作成もディレクトリ内のファイル読み込みも禁止にしたかったってこと
削除しようとしている間にディレクトリ内にファイルを作られるとmkdirできなくて削除できないので
ディレクトリ内にファイル作成もディレクトリ内のファイル読み込みも禁止にしたかったってこと
379デフォルトの名無しさん
2016/07/27(水) 02:26:13.90ID:8IadtePG mkdirじゃなくてrmdirだ
380デフォルトの名無しさん
2016/07/27(水) 08:10:16.74ID:yPkdt5ig 任意のプロセスがアクセスできるディレクトリを削除したいという要求自体が間違っている
381デフォルトの名無しさん
2016/07/27(水) 08:32:01.24ID:8IadtePG >>380
bbsディレクトリの中に各掲示板ごとのディレクトリがあって、さらにその中にログファイルや掲示板設定ファイルがある
削除したい掲示板は各掲示板のディレクトリごとに削除するしかないのでどうしても任意のプロセスがアクセスできる
ディレクトリを削除するしかない
test1掲示板の場合
ファイルはbbs/test1/logfile.datとbbs/test1/settei.datがあって
掲示板を削除する場合はまずこの2つのファイルを削除してtest1ディレクトリを削除するということです
bbsディレクトリの中に各掲示板ごとのディレクトリがあって、さらにその中にログファイルや掲示板設定ファイルがある
削除したい掲示板は各掲示板のディレクトリごとに削除するしかないのでどうしても任意のプロセスがアクセスできる
ディレクトリを削除するしかない
test1掲示板の場合
ファイルはbbs/test1/logfile.datとbbs/test1/settei.datがあって
掲示板を削除する場合はまずこの2つのファイルを削除してtest1ディレクトリを削除するということです
382デフォルトの名無しさん
2016/07/27(水) 09:49:12.77ID:uNHlpX2c その掲示板とやらのディレクトリは本当に、自分のプロセスだけでなく任意のプロセスからもアクセスできるのか?
であれば、ディレクトリのパーミッションが間違っている。自分のプロセス以外のアクセスを禁止せよ。
自分のプロセスしかアクセスできない前提であれば、好きなように自分で排他制御を行えばよい。例えば>>375のように。
であれば、ディレクトリのパーミッションが間違っている。自分のプロセス以外のアクセスを禁止せよ。
自分のプロセスしかアクセスできない前提であれば、好きなように自分で排他制御を行えばよい。例えば>>375のように。
383デフォルトの名無しさん
2016/07/27(水) 15:57:37.43ID:8IadtePG >>382
普通の掲示板やで
普通掲示板は誰でも観覧と書き込みができるので任意のプロセスからでも読み書きできる
それとディレクトリの削除はブラウザからperlで書いたcgiを起動して削除するので
パーミッションでのオーナーとかの判別はできないんや
普通の掲示板やで
普通掲示板は誰でも観覧と書き込みができるので任意のプロセスからでも読み書きできる
それとディレクトリの削除はブラウザからperlで書いたcgiを起動して削除するので
パーミッションでのオーナーとかの判別はできないんや
384デフォルトの名無しさん
2016/07/27(水) 16:17:33.22ID:uNHlpX2c 掲示板のcgiが動いてるプロセスは掲示板を閲覧しているユーザとは関係なかろうが。
これ以上はperlの話ではなく、そのcgi固有の話だ。
ここでやる話ではない。
これ以上はperlの話ではなく、そのcgi固有の話だ。
ここでやる話ではない。
385デフォルトの名無しさん
2016/07/29(金) 21:21:45.34ID:kdSSWeOo my(@aaa);
@aaa = sort {$b <=> $a} @aaa;
このとき$a,$bをmy($a,$b)やlocal($a,$b);と宣言するとエラーになります
$a,$bはどのように宣言すればいいんですか?
@aaa = sort {$b <=> $a} @aaa;
このとき$a,$bをmy($a,$b)やlocal($a,$b);と宣言するとエラーになります
$a,$bはどのように宣言すればいいんですか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 [少考さん★]
- 高市早苗総理「農水大臣が大好きなおこめ券」 野党が“おこめ券”追及 [Hitzeschleier★]
- 【芸能】山里亮太、体調不良で3日連続『DayDay.』欠席 症状の説明などはなし… 代理MCはアンジャッシュ・児嶋一哉 [冬月記者★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 【MLB】ドジャース、最優秀救援3度&通算253セーブの守護神・ディアスを獲得! スコット低迷、佐々木朗希は先発復帰で [冬月記者★]
- 国分太一、地上波復帰は困難でもキャンプ趣味を活かしYouTubeで復帰するシナリオも「参戦すればキャンプYouTuberの人気の構図が一変」 [Ailuropoda melanoleuca★]
- 【悲報】レーダー照射で中国批判 米国務省「平和に資さず」 [733893279]
- 【朗報】日中戦争、5割弱が賛成。共同通信世論調査。ケンモメンも中国進駐へ [673057929]
- 高市早苗さん、今度は韓国にも喧嘩を売ってしまう。 ほんまこいつwwww [271912485]
- 【悲報】統一教会会長「安倍氏銃撃の背景に教団が存在することは事実」と認める [115996789]
- 【高市悲報】日本人のTikTokアカウントが続々収益化剥奪中!!乞食どもざまああああああああwwwwwww [394917828]
- 円安物価高無限ループ編突入 [452056903]
