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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
302: 2020/03/09(月)22:34 ID:aF4+X/eL(2/2) AAS
だよね
ちょっと信じて損した
303: 2020/03/09(月)23:01 ID:d25zd4do(1) AAS
アホが見〜る〜ブタのケ〜ツ〜
304
(1): 2020/03/10(火)01:54 ID:Lezaa9m7(1/2) AAS
>>300
> エクスプローラからWSL上のperlファイルが見えて
普通ほぼすべてのファイルが見える
見えないのは/procとか/sysとか特殊なものだけ

> ダブルクリックでWSLのperlで実行できんの?
ファイルが見えてるんだから当然ダブルクリックできる。
もちろん関連付けは必要だがな。
それをWSL内で実行するのもWSLを使わずに実行するのも
関連付けの設定次第
305
(1): 2020/03/10(火)01:55 ID:Lezaa9m7(2/2) AAS
ググれば普通に見つかる

Windows Subsystem for Linux でダブルクリックで sh ファイルを実行する
外部リンク[html]:dskjal.com

Windows 10のbashのコマンドをGUIから起動させるには?
外部リンク:kako.com
306: 2020/03/10(火)02:35 ID:iN6KW/Ct(1) AAS
WSL2は、Windows側のファイル属性とかちゃんとふつうにあつかえるようになったんか?
WSL1のときは完全別物で、全然ダメやったが。
307: 2020/03/10(火)03:13 ID:8QcyJ6p0(1/2) AAS
WSL1もWSL2も同じ。Linuxのファイル属性として正しく扱えるようになった。
Windowsのファイル属性をLinuxアプリが正しく扱えることはありえないから
逆の発想でLinuxとして正しく扱える方向に舵をとった。
Linuxアプリから正しく扱えないなら意味ないでしょ?
308: 2020/03/10(火)03:17 ID:8QcyJ6p0(2/2) AAS
そもそもファイル属性はWindowsの方が高機能で
Linuxは、いろいろ拡張入れたら別だが
基本のファイル属性はUNIX初期の頃から変わって無くてかなり貧弱。
Windowsの高機能なファイル属性をそのLinuxにマッピングすることは出来ない。
逆にLinuxのファイル属性を全てWindows側に持たせることは可能
こうすることで全てのWindowsのファイルをLinuxで正しく扱えるようになった。
309: 2020/03/10(火)04:18 ID:/bE8vLVb(1) AAS
漏れは、Ruby のバージョンマネージャー、rbenv をWSL, Ubuntu 18.04 に入れた。
これで、Linux 側に、好きなバージョンのRubyを入れられる

Windows 10 側には、VSCode を入れて、拡張機能のRemote WSL を入れる

これが基本!
310: 2020/03/10(火)04:23 ID:qHN38Ccx(1/3) AAS
windowsでも開発できそうだなー
311
(2): 2020/03/10(火)12:00 ID:tTiB+rjP(1/3) AAS
DBIの動作についてお聞きしたいことがあります。

my $dbh = DBI->connect(接続情報);
my $sql = 'パラメータ付きクエリ';

my $ret1 = $dbh->selectrow_arrayref($sql, undef, 'A');
my $ret2 = $dbh->selectrow_arrayref($sql, undef, 'B');

my $sth = $dbh->prepare($sql);

my $ret3 = $dbh->selectrow_arrayref($sth, undef, 'A');
my $ret4 = $dbh->selectrow_arrayref($sth, undef, 'B');

このようなコードで$ret1と$ret2には'A', 'B'それぞれのパラメータを使用した結果が入るのですが、$ret3は$ret4と同じ'B'を使用した結果になってしまいます。
selectrow_arrayrefに同じステートメントハンドラを渡して複数回実行すると、リファレンス実体が最後に実行した結果で上書きされてしまうような雰囲気でした。

Perl 5.10.1 & DBI 1.609の環境と、Perl 5.16.3 & DBI 1.642の環境で試してどちらも同じ結果になったのですが、こういうものなのでしょうか…。
312
(1): 2020/03/10(火)13:47 ID:nryxofxk(1) AAS
>>305
アホか?
バッチファイルでwsl起動してその中で実行してるだけじゃん
レジストリ編集の方もパワーシェルに引数渡してwsl起動してるだけだ
これじゃあcygwin使ってやるのとなんら変わっとらん
313
(1): 2020/03/10(火)14:03 ID:0m+9gBGV(1) AAS
>>312
あのさ、おまえ頭悪いよ?
目的を一番ラクに実現する方法が
目の前にあるというのにそれを使わないのはアホだろ
ネイティブのPerlを使えばいい
今更PerlのWindows移植版なんかいらんよ。
Windows移植版なんてcygwinと何も変わらん
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側とはやっぱり高い壁がある、と思っとくほうが安全やろ。
1-
あと 671 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.015s