[過去ログ] Perlについての質問箱 64箱目 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
532
(23): 532 2020/07/24(金)23:35 ID:Z8MDOpZc(1/4) AAS
Binary fileをupdateモードでopenして
目的の位置にseekしpackで元のファイルの内容を直接書き換える方法なら

外部リンク[htm]:docstore.mik.ua
533: 532 2020/07/24(金)23:36 ID:Z8MDOpZc(2/4) AAS
>>530 と内容が被った…orz
534: 532 2020/07/24(金)23:40 ID:Z8MDOpZc(3/4) AAS
この辺調べてやってくだされぃ
外部リンク:www.google.co.jp
535: 532 2020/07/24(金)23:45 ID:Z8MDOpZc(4/4) AAS
先生ッ、便利そうなモジュール見つけました!
外部リンク:metacpan.org
537: 2020/07/24(金)23:48 ID:JRbdBOQM(10/10) AAS
>>532
親切にありがとうございます
599: 532 2020/07/29(水)00:13 ID:gNILtmsT(1) AAS
python, goなど他の言語もやってますが
675: 532 2020/08/18(火)02:10 ID:B3TNMnkL(1) AAS
perlのguiといえばTk, Tkx, wxWdget, Qt, GTK …色々あって
やろうと思えばやれると思うけど。

オレはPerlではTk, Tkxしかやったこと無いけどさ
684: 532 2020/08/19(水)01:09 ID:jnnRlfyg(1) AAS
GUIのために言語を選ぶ?
少なくともperlにおいては、そんなことないだろJK
755: 532 2020/10/28(水)08:36 ID:TnU9NEZC(1) AAS
LWP::Protocol::https
がインストールされていれば

$url = "https://…";
require LWP::UserAgent; # with LWP::Protocol::https
$ua = LWP::UserAgent->new;
#$ua->agent('Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko');
$s = LWP::UserAgent->new->get($url)->content;
765: 532 2020/10/29(木)00:33 ID:2QXtbAjf(1) AAS
そもそも言葉がそういうものだろ
だからかまわないというのは極論
というかそういう話もrubyも該当スレでやってくれ
784: 532 2020/10/30(金)22:24 ID:QEBk4Q6j(1) AAS
Perl5のParse::RecDescent.を使えれば
Perl6のGrammarも大丈夫だと思う

多分
814
(1): 532 2020/12/06(日)00:15 ID:1Uj+ZrCS(1) AAS
print <<"eos";
@{[print "aaawww"]}
eos

$ perl aaawww.pl
aaawww1

;を省くと動くが、「1」とか余計なものがつくな
829: 532 2020/12/07(月)21:57 ID:WG5ppFXF(1) AAS
Time::Pieceの弱点は
strptime()で作ったインスタンスのtimeゾーンをいじれないとこかな?
後1つなんか弱手あった気がするが忘れた
874
(1): 532 2020/12/12(土)00:28 ID:tTwN9OuS(1/3) AAS
>>833
perlのsort()アルゴリズムは5,8以降マージソートになってsort結果は安定なアルゴリズムなので
手短にコードを書くなら右の数字でsortしてから左の数字でsortすれば所望の結果が得られる。以下サンプル実装

use List::Util 'shuffle';
%h = map{$_ => $i++} shuffle qw{1-1 1-2 1-3 2-1 2-2 2-3 3-1 3-2 3-3};
use feature qw{say signatures}; no warnings experimental;

@k1 = keys %h;
say "@k1";
sub f($s) { [$s =~ /(\d+)/g, $s]};
@k2 = map{$$_[2]} sort{$a->[0] <=> $b->[0]} sort{$a->[1] <=> $b->[1]} map{f $_} @k1;
say "@k2";

実行結果
~ $ perl 64_833_n-n_sort_1.pl
1-1 2-3 3-3 1-2 3-1 2-2 2-1 1-3 3-2
1-1 1-2 1-3 2-1 2-2 2-3 3-1 3-2 3-3

言語処理系内部のsort()関数のアルゴリズムに依存しない書き方がしたいなら
左と右の数値で二段階のソートをするか、右の数字と左の数値で順位に一貫性のあるキーを作って
一段階のソートで済ませる方法もあると思う。

そういったサンプル実装を見たいのであれば、時間があればくけれども…
875: 532 2020/12/12(土)00:42 ID:tTwN9OuS(2/3) AAS
つか、実は Tie::IxHash を使ってhashに登録したデータの順番を維持して取り出せれば
いいだけの話だったりしてな。しらんけど
877: 532 2020/12/12(土)00:48 ID:tTwN9OuS(3/3) AAS
>>849
おっとここに十分な解答があったわw
883: 532 2020/12/12(土)10:42 ID:+ekv//0b(1/2) AAS
>>833 >>874に書いた左の数字と右の数値両方で順位に一貫性のあるキーを作って一回でsortするサンプル
数値は4桁以下であることを仮定してます。

use List::Util 'shuffle';
%h = map{$_ => $i++} shuffle qw{1-1 1-2 1-3 2-1 2-2 2-3 3-1 3-2 3-3};

@k1 = keys %h;
print "@k1\n";

@kk = map{[sprintf("%4d%4d", /(\d+)/g), $_]} @k1;
@k2 = map{$$_[1]} sort{$$a[0] cmp $$b[0]} @kk;

print "@k2\n";
884: 532 2020/12/12(土)10:47 ID:+ekv//0b(2/2) AAS
こうやって幾つかコード書いてみて…>>849かTie::IxHashで十分な気がしたわw
917: 532 2021/01/25(月)02:03 ID:NGykvctj(1) AAS
外部リンク:perlcodesample.hateblo.jp
963: 532 2021/03/09(火)00:11 ID:jxvXMO9/(1/2) AAS
$^WIN32_SLOPPY_STAT じゃね?

File::FindはWindowsだと、SJISで全角「構」などの2バイト目が\(0x5c)のフォルダに遭遇すると
無限loopしたり誤動作するから、結局Wndowsでフォルダ階層を再帰的にたどるには
utf8化したperl sourceで自分でopendir, readdirして、encode, decodeせにゃならん。
964
(1): 532 2021/03/09(火)00:15 ID:jxvXMO9/(2/2) AAS
別件だがWindowsではSJISで全角「構」などの2バイト目が\(0x5c)のフォルダには
perlからlstatやutimeが出来ないみたいで難儀した。
Linuxのutf8のファイルシステムと違ってWindowsのSJISファイルシステムは面倒
970: 532 2021/03/09(火)08:45 ID:UTQZC5u1(1) AAS
NTFSってUTF-16だったのか、
しかしperlのreaddirはcp932で返してきているような気がs…
986: 532 2021/03/11(木)11:39 ID:AlcqB+X5(1) AAS
$pat = 'hoge(?:,.*)?$';
print "1\n" if 'hoge,dsad' =~ $pat;
print "2\n" if 'hoge' =~ $pat;
print "3\n" if 'hage' =~ $pat;

はどうよ

実行例
~ $ perl 64_976_hoge_pat.pl
1
2
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.037s