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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
491: 2020/07/04(土)19:41 ID:+vSKr8nf(1/2) AAS
効率化して高速化しようとしても、過去に足を引っ張られる
492
(1): 2020/07/04(土)19:48 ID:VctW6lO7(1) AAS
単純に過去を切り捨てたら、Rakuの二の舞になる。過去を切り捨てるのであれば、
Python に勝てる程度の言語仕様にしなければ、見向きもされないだろう。
しかし、それはもう既にPerlではないだろう。
493: 2020/07/04(土)20:01 ID:XHKaM396(1) AAS
Perlはこのままでいいと思う
レガシーなのがPerlの強さ
494: 2020/07/04(土)20:55 ID:+vSKr8nf(2/2) AAS
negative legacy
495: 2020/07/05(日)01:06 ID:BkxIDrcL(1) AAS
>>492
はい。
Wiki>「Perlに続く」という意味で、6月の次の誕生石(7月)のルビーから名付けられた
496: 2020/07/06(月)00:05 ID:Dee8Pqdl(1) AAS
逆に頑張って作ったPerl6が古いみたいな感じになっちゃうな(´・ω・`)
497: 2020/07/06(月)02:55 ID:pEZsiPGN(1/2) AAS
もうPerl6は存在しないからだいじょうぶ。
498
(1): 2020/07/06(月)03:53 ID:Lg+fAiJM(1) AAS
Perl6はさっさと開発中止すべきだったのになぜ続行したんだろう
499: 2020/07/06(月)19:42 ID:5vDJxItj(1) AAS
ま、いいじゃねえか。新しい言語が一つ増えたようなもんだし。
500
(1): 2020/07/06(月)21:20 ID:pEZsiPGN(2/2) AAS
>>498
「すべき」って、おまえは何様なんや?

やりたい人がやってただけ。
結果としてうまくいかなかっただけ。
501: 2020/07/07(火)18:34 ID:e1WbjzO/(1/2) AAS
うまくいくべき
502: 2020/07/07(火)18:40 ID:/oL+BKEU(1) AAS
べきであるある
503: 2020/07/07(火)18:42 ID:v8PkKQM3(1) AAS
>>500
何様ってw
匿名掲示板で何を言ってるのw
強いていうならPerlユーザーですw
504: 2020/07/07(火)19:01 ID:e1WbjzO/(2/2) AAS
俺様
505
(3): 2020/07/23(木)01:04 ID:2kWEZYuR(1/3) AAS
___________________________________________

/media/xxx/DVD_HDVR/HDVR_SOB/*.SRO
というのが動画本体で、
SROファイルの構造は
000000-00007F 東芝ヘッダ
000080-007FFF (データA)
008000-00807F 東芝ヘッダ
008080-00FFFF (データB)
010000-01007F 東芝ヘッダ
010080-01FFFF (データC)
となっていて、東芝ヘッダからみたオフセット0x1C番地にある0x40値を=>0x00に書き換えるそうです。
東芝ヘッダは1つのファイルに複数ある(?)そうで、それらすべてを書き換える必要があるようです


これをperlスクリプトでお願いします
506
(1): 2020/07/23(木)06:45 ID:6LXR6fOg(1) AAS
binmodeで開いて、substr
507: 2020/07/23(木)19:03 ID:2kWEZYuR(2/3) AAS
>>506
ありがとう
素人過ぎてわかんないけど
508: 2020/07/23(木)19:09 ID:NaEhWCW1(1) AAS
コードそのものを書いてくれとさ
509
(2): 2020/07/23(木)19:25 ID:2kWEZYuR(3/3) AAS
同じような目的の別のスクリプトです
これに近いイメージでしょうか
(全文書くとブロックされる)

_________________________________________________________

HR_MANGR.IFOのコピー禁止フラグ解除は、
0x20 0x2C 0x23のシーケンスを0x20 0x24 0x23 に変更
perlスクリプトの例は以下のとおり。
# freeifo.pl
# HR_MANGR.IFOの変換
use strict;
use warnings;
my $infile = "HR_MANGR.IFO";
my $buf;
my $sTarget = " ,#"; # 0x20 0x2C 0x23

# ファイルのオープン

# バイナリモードに変更
binmode INFILE;
binmode OUTFILE;
my $sizIFO = -s $infile;

# IFOファイルを読み込み

# 0x20 0x2C 0x23 の並びがあれば、0x20 0x24 0x23 に置き換え
#他にあれば継続、無ければ終了

# ファイルのクローズ
close INFILE;
close OUTFILE;
510: 2020/07/24(金)04:55 ID:6ZonvnML(1) AAS
そうそう。そんな感じ。
まあ頑張って。
511
(3): 2020/07/24(金)09:07 ID:So4dssPK(1/4) AAS
書き換える番地は、N は、0 以上で、以下の法則か?
0x8000 × N + ( 0x80 + 0x1C )

つまり、ヘッダは必ず、0x8000 毎にあるのか?
512
(1): 2020/07/24(金)11:24 ID:JRbdBOQM(1/10) AAS
>>511
レスありがとうございます
________________________________________________

SROファイルの書き換え
  000000-00007F 東芝ヘッダ
  000080-007FFF (データA)
  008000-00807F 東芝ヘッダ
  008080-00FFFF (データB)
  010000-01007F 東芝ヘッダ
  010080-01FFFF (データC)
  というふうに、0x8000バイトで1セットとなっている。
  東芝ヘッダとは、0x80バイトからなるデータブロック。途中に## Toshiba 〜という文字列を含んでいる
  東芝ヘッダのコピー禁止フラグ(CPP)のあるオフセット0x1Cを 0x40 ⇒ 0x00 に修正。
513
(1): 2020/07/24(金)11:37 ID:nuOKXnku(1) AAS
オレなら、バイナリーエディタの置換機能を使うと思うが。
514
(1): 2020/07/24(金)11:40 ID:61Z/1/Bp(1/2) AAS
数が多いとツール作った方が早い
手動でやってもツール作っても時間同じなら、ツール作った方がいい
仕事では、ツール作ったせいで余計に時間かかってもツール作る
515
(1): 2020/07/24(金)11:53 ID:JRbdBOQM(2/10) AAS
>>513
データが大きいのでLinuxのバイナリエディタでは上手く行かないのです
516: 2020/07/24(金)12:54 ID:JRbdBOQM(3/10) AAS
画像リンク


この文字列が一定間隔で現れます
データが大きいので>>514さんの言うとおりツール(スクリプト)で処理したいのです
517
(1): 2020/07/24(金)15:39 ID:EkE5sKTE(1/3) AAS
perl -e "binmode STDIN; binmode STDOUT; while (read STDIN, $_, 0x8000) { substr $_, 0x1c, 1, 0; print }" < IN > OUT
これが最短?
518: 2020/07/24(金)15:58 ID:JRbdBOQM(4/10) AAS
>>517
レスありがとうございます
泣きそうです(解らなすぎて)

>>509のスクリプトはバイナリ修正したコピーファイルを作成するものでした
小さなファイルなので問題ないのですが、目的の対象ファイルは10GB~20GBもあるものなのでマネ出来ません
519: 2020/07/24(金)16:06 ID:JRbdBOQM(5/10) AAS
>>509の全文です

画像リンク


後出しのクセが強すぎすいません
520: 2020/07/24(金)16:07 ID:UzZpGBU/(1) AAS
>>515
なるほどね。しかし、perlが扱えるデータ量にも、よく解らない限界があって、
巨大なデータを突っ込むと勝手に途中で切られたりするみたいだよ。
巨大なデータを扱うなら、seek関数みたいな低水準な手法を使う必要があるかもしれない。
1-
あと 482 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.028s