[過去ログ] Perlについての質問箱 64箱目 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
314(1): 2020/03/10(火)15:17 ID:qHN38Ccx(2/3) AAS
>>311
試してみたけど確かに同じ配列が変えるね
オライリーのDBI本見たらそう書いてあった
selectrow_arrayって方を使ってリストコンテキストで受けるといいみたい
315(1): 2020/03/10(火)15:22 ID:tTiB+rjP(2/3) AAS
>>314
やはりそうですか…
selectrow_hashrefを使うと$sqlでも$sthでも'A', 'B'それぞれの結果が返るので、selectrow_arrayrefだけ期待と違う動作をしている気がします。(バグ?)
316(1): 2020/03/10(火)15:28 ID:qHN38Ccx(3/3) AAS
>>315
バグというか仕様だと思う
作者の書いたオライリー本にも書いてあったから意図的なはず
今更変更できないからこのままになってるんだろうね
317: 2020/03/10(火)15:39 ID:tTiB+rjP(3/3) AAS
>>316
なるほど。
それでは今後、selectrow_arrayrefは注意して使うようにしたいと思います。
ありがとうございました。
318(1): 2020/03/10(火)15:58 ID:SCW8qISh(1) AAS
>>313
へー
バッチファイル作ったりトリッキーな関連付けまでしないと動かないのが一番楽な方法ねー
cygwinで全く同じことができるしwin移植版perlならそのまま実行できちゃうんだけどね
ところでエクスプローラからどうやったらwsl内のファイルが見えるんだい?
319(1): 2020/03/10(火)16:50 ID:lAAHr9o2(1/2) AAS
>>311
selectrow_arrayref は最初の1行しか返さないからということはない?
320: 2020/03/10(火)16:52 ID:lAAHr9o2(2/2) AAS
ぐえ。リロード忘れたらとっくに話が終わっていて間に沢山の書き込みが
321(1): 2020/03/10(火)20:10 ID:UzsfbeET(1) AAS
BOOKOFFに100円で売っていたPerl/CGI辞典によると、
selectrow_array:先頭行
selectcol_arrayref:最初のフィールド
selectall_arrayref:すべて
322: 2020/03/10(火)23:18 ID:gGR9Cwad(1) AAS
>>318
Windows版Perl使って
Windowsで動かないーってやるより、
安心して使えるバッチファイルを使ったほうがシンプル
323(1): 2020/03/10(火)23:32 ID:Z32YaYnf(1/2) AAS
いやいやw
WSLならバッチファイルなんか使わなくてもエクスプローラーからダブルクリックでWSL上のスクリプトを直接実行できるんでしょ?
やり方教えてよ
windows版perlならバッチファイルなんか使わなくてももちろん出来るからねw
それとwindows版perlだと何が動かないのかな〜?
324: 2020/03/10(火)23:37 ID:9jB6JpZx(1) AAS
バッチファイルとかっていったい何歳の爺さんなんだよ
325(1): 2020/03/10(火)23:42 ID:tP5E2IWo(1) AAS
>>323
普通に、wsl.exe+スクリプトファイルのショートカットを作るだけ
326(1): 2020/03/10(火)23:51 ID:Z32YaYnf(2/2) AAS
>>325
やってることはバッチファイルと同じじゃん
327(2): 2020/03/11(水)00:05 ID:5FVYO8f6(1) AAS
Ruby でも、MSYS2/MINGW は、日本語でバグル・日本語入力できない。
一方、WSL は、日本語でバグらない!
WSL が出たから、次第に、Windows 版のRuby Installer は、使われなくなっていく
それに、VSCode の拡張機能、Remote WSL が出たから、
Windows 10 では、Ubuntu 18.04 が標準になる
プロジェクトも、Windows 側のC: ドライブじゃなくても、
Linux 側に置いて、Remote WSL でアクセスできるので、本番環境に近い
Windows/Linux のファイルのアクセス権限の違いに、困らない!
328: 2020/03/11(水)00:38 ID:3jaBr8Hp(1) AAS
ルビーならそうだろうねw
329: 2020/03/11(水)00:53 ID:FWSDJbu9(1) AAS
>>326
それで実現できるだろ
しかも完全にちゃんと動くPerlで
330: 2020/03/11(水)01:05 ID:zcf0ykb5(1) AAS
ハア?
WSLはwindows版perlより楽できるんじゃないの?
なんでわざわざそんな面倒なことすんの?
それとエクスプローラからWSLのファイルが見えてそれをダブルクリックで実行できるって話はどうなったの?
331: 2020/03/11(水)01:17 ID:M00P+dL8(1/3) AAS
WSLはあくまでLinux的システムなアプリであって、Windows側とはやっぱり高い壁がある、と思っとくほうが安全やろ。
332(1): 327 2020/03/11(水)01:47 ID:EKM5ywjJ(1/2) AAS
Ruby なら、WSL から、1-liner で、
Rubyで作られた遅いウェブサーバー、WEBrick が起動する
index.html が、Windows 側のC: ドライブにあるとすると、
cd /mnt/c/〜 で、Windows側へ移動して、
または、index.html が、linux 側のドライブにあるとすると、cd で、そこへ移動して、
ruby -run -e httpd . -p 8080
これで、Windows側のブラウザで見れる
外部リンク:localhost:8080
つまり、プロジェクトが、Windows/Linux側のどちらにあっても、Windows側のブラウザで見れる
333: 2020/03/11(水)02:27 ID:M00P+dL8(2/3) AAS
Webサーバーを経由すれば、ファイルが地球の裏側にあってもふつうに見れるなー。w
334: 327 2020/03/11(水)04:58 ID:EKM5ywjJ(2/2) AAS
Linux 側のフォルダ内を公開した、Linux側のサーバーに対して、
Windows 側のブラウザのlocalhost で見れるんだよ!!
335(2): 2020/03/11(水)09:27 ID:AZbrV/6V(1) AAS
>>319
>>321
返信ありがとうございます。
すみませんが、selectrow_arrayrefが最初の1行しか返さないということは知っています。
そうではなく、結果(リファレンス)を変数に入れてから再度同じステートメントハンドラでselectrow_arrayrefを使用すると、リファレンス実体の方が書き換わってしまうので、1回目の結果が失われてしまうということを言いたかったのですが…。
サンプルとして'パラメータ付きクエリ'と書きましたが、複数行を返さない単純な「SELECT ?」でも再現します。
336: 2020/03/11(水)09:44 ID:LRW51TqV(1) AAS
なるほど。
337: 2020/03/11(水)20:46 ID:M00P+dL8(3/3) AAS
>>335
同じ変数を使い回しまくって、パフォーマンスを落とさないためやないの?
GCのないPerlならたいしてかわらんやろけど。
338: 2020/03/11(水)21:49 ID:gWo/n1eo(1) AAS
>332
ウェブサーバーならbusyboxでよくね?w
数MBのメモリで動作する
339(1): 2020/03/11(水)23:17 ID:k/ve+D91(1) AAS
>>335
クエリ結果を保持してるのはステートメントハンドラオブジェクトの方でパフォーマンス優先のためにその内部変数のリファリンスを返すのが*_arrayrefって考えればいいかな
んでselectrow_arrayrefの第1引数に文字列を渡したときは内部で毎回prepareされるので後から実行しても書き変わらないと
340(1): 2020/03/12(木)01:40 ID:i54BE1kH(1) AAS
>>304
よくもこんな大嘘をw
341: 2020/03/12(木)01:44 ID:NTVlQfwP(1) AAS
第一引数に$sth渡せるんだって思ったね
文字列しか渡したことないし
Perlはいまだに知らないことがある
342: 2020/03/12(木)09:49 ID:05BordF4(1) AAS
>>339
そうですね。
DBI.pmで第1引数がリファレンス(ステートメントハンドラ)ならそのまま使用、そうでなければprepareしているところまではわかったのですが、その後の流れは同じのようでしたし、Driver.xstまで解析するのはやめておきました(^^;)
343: 2020/03/12(木)16:51 ID:XWa7Kkjq(1/2) AAS
>>340
そういう時は
How dare you?
と言う。
上下前次1-新書関写板覧索設栞歴
あと 659 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.015s