[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
800: デフォルトの名無しさん [sage] 2020/11/18(水) 01:32:09.00 ID:T6Vtm1bs system("\"C:/Program Files (x86)/Google/Chrome/Application/chrome.exe\" https://www.yahoo.co.jp/"); 完成しました ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/800
801: デフォルトの名無しさん [] 2020/11/18(水) 08:31:15.08 ID:XTvONPVJ >>800 wperl.exeからsystem()を呼び出すと新しいコンソールウィンドウが開くので要注意。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/801
802: デフォルトの名無しさん [sage] 2020/11/28(土) 15:40:18.08 ID:EM73A4Gg 指定した年月日からx日後の日付を数で得るにはどうするのが一番楽だろう http://mevius.5ch.net/test/read.cgi/tech/1548981877/802
803: デフォルトの名無しさん [sage] 2020/11/28(土) 18:31:31.18 ID:1bDz9VeK 「数で得る」というのがよく解らないが、timelocal()とlocaltime()を使えば、 多分、やりたいことができると思う。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/803
804: デフォルトの名無しさん [sage] 2020/12/03(木) 17:27:36.92 ID:PrWVOzOn これから仕事ではじめてperlを使うんだけど、メッセージやメール出力などにマルチ言語対応が入ってる resourceに言語ファイルをいれる形で実現したいけど、どのようにするのがいいか教えて下さい 複数のスクリプトを開発して連係させる予定 http://mevius.5ch.net/test/read.cgi/tech/1548981877/804
805: デフォルトの名無しさん [] 2020/12/05(土) 13:44:54.28 ID:DP7JjxAq ヒアドキュメントの中で数式を使うやり方は? @{[数式]} のようにやってもエラーで動かなかった http://mevius.5ch.net/test/read.cgi/tech/1548981877/805
806: デフォルトの名無しさん [sage] 2020/12/05(土) 15:34:53.50 ID:3OUqO/Qz >>802 Ruby on Rails なら、時刻計算用のライブラリがある require 'active_support/time' p Date.new( 2020, 2, 28 ).advance( days: 2 ) 出力。うるう年 Sun, 01 Mar 2020 http://mevius.5ch.net/test/read.cgi/tech/1548981877/806
807: デフォルトの名無しさん [sage] 2020/12/05(土) 15:43:47.69 ID:+/FrBp4K そんな感じの気楽で使いたい $date = date->new('2020-12-05'); $date += 100; ($y, $m, $d) = ($date->year, $date->month, $date->day); こんなん http://mevius.5ch.net/test/read.cgi/tech/1548981877/807
808: デフォルトの名無しさん [sage] 2020/12/05(土) 16:43:15.39 ID:dBHdheKW >>805 おかしいな。それで合ってるように思えるんだが。 この辺りを読んで、何か誤解してないか確認したらいいかも。 https://perldoc.jp/docs/perl/5.26.1/perlref.pod http://mevius.5ch.net/test/read.cgi/tech/1548981877/808
809: 806 [sage] 2020/12/05(土) 18:18:59.36 ID:3OUqO/Qz 「perl 時刻 計算」で検索すれば? 日付・時刻を扱う標準モジュール、Time::Piece が標準で添付されています。 もっと便利なモジュールを、誰かが作っているかも http://mevius.5ch.net/test/read.cgi/tech/1548981877/809
810: デフォルトの名無しさん [sage] 2020/12/05(土) 18:31:57.30 ID:+/FrBp4K localtimeからスタートする時はそれが便利 何か基準の日付から計算しようとすると面倒になる http://mevius.5ch.net/test/read.cgi/tech/1548981877/810
811: デフォルトの名無しさん [sage] 2020/12/05(土) 20:29:02.43 ID:5ARiBM7n >>805 数式自体にエラーがあるんやろ。w じゃなきゃエラーをはれ。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/811
812: デフォルトの名無しさん [] 2020/12/05(土) 23:54:20.43 ID:DP7JjxAq >>811 print <<"eos"; @{[print "aaawww";]} eos これでエラーだった http://mevius.5ch.net/test/read.cgi/tech/1548981877/812
813: デフォルトの名無しさん [sage] 2020/12/06(日) 00:14:01.05 ID:GZ1arJtc >>812 だからエラーの文面をはれっつーの。 でも、わかった。 「[]」の内側に書けるのは、式のリスト。 最後に「;」を書くのは、「式」でなく「文」というか。 しかし、それだとうまくいっても「aaawww1」と表示される気がするが、どうなの?w http://mevius.5ch.net/test/read.cgi/tech/1548981877/813
814: 532 [sage] 2020/12/06(日) 00:15:36.74 ID:1Uj+ZrCS print <<"eos"; @{[print "aaawww"]} eos $ perl aaawww.pl aaawww1 ;を省くと動くが、「1」とか余計なものがつくな http://mevius.5ch.net/test/read.cgi/tech/1548981877/814
815: デフォルトの名無しさん [] 2020/12/06(日) 00:43:41.05 ID:Znd8Qdfl >>813 CGI 実行エラー syntax error at test.cgi line 10, near ""aaawww";" Execution of test.cgi aborted due to compilation errors. http://mevius.5ch.net/test/read.cgi/tech/1548981877/815
816: デフォルトの名無しさん [sage] 2020/12/06(日) 01:06:20.00 ID:rqNKNacS 単なる構文エラー 無名リストの中に裸のセミコロンがあったらまずいでしょ ["A", "B", 3, ";"] OK ["A", "B", 3, ;] エラー 余計な1じゃなくてprint関数の返り値 printが成功したので真(1)を返して無名リストの要素になった printで"aaawww"が表示された後デリファレンスされて展開された1がヒアドキュメントで表示される http://mevius.5ch.net/test/read.cgi/tech/1548981877/816
817: デフォルトの名無しさん [sage] 2020/12/06(日) 01:06:31.00 ID:GZ1arJtc >>814 仕様どおり。w 記述したとおりに正しく動作しているな。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/817
818: デフォルトの名無しさん [sage] 2020/12/06(日) 01:19:08.97 ID:d/9HsImJ >>802 今更だけど日付をエポック秒で表して日数×24*60*60を足すんじゃだめ? 車輪の再発明というかただの製作を承知で、自分で日付変換の関数を一通り作ったらそれで十分だった 便利そうなライブラリを探そうとしたこともあるけど、オブジェクト指向的なやつだと結局その オブジェクトを介した変換が頻出することになってスラスラ書けないなあと思ったのです。 もし今後UTCとかJSTとか出てきたときはそのときまた考える。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/818
819: デフォルトの名無しさん [sage] 2020/12/06(日) 02:06:04.21 ID:fHRDTQ7E PerlのYAML関連のモジュールが全部重くて厳しい 高速なYAMLモジュールはないのか? http://mevius.5ch.net/test/read.cgi/tech/1548981877/819
820: デフォルトの名無しさん [sage] 2020/12/06(日) 10:37:45.21 ID:kLx/M/5Z まずは高速なCのライブラリを見つけます http://mevius.5ch.net/test/read.cgi/tech/1548981877/820
821: デフォルトの名無しさん [sage] 2020/12/06(日) 11:42:16.72 ID:BlX3SIQO >>803 だが、>>802 の質問は>>803 で終わったと思ったのだが、不親切だった? 例えば2019年12月1日から365日後の日付は、次のようにすれば得られる。 use Time::Local; $year=2019;$mon=12;$mday=1;$hours=12;$min=0;$sec=0; $intvl=365; $basetime = timelocal($sec, $min, $hours, $mday, $mon-1, $year-1900); $basetime += $intvl*24*60*60; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtime($basetime); $mon+=1;$year+=1900; print STDERR "$year.$mon.$mday\n"; http://mevius.5ch.net/test/read.cgi/tech/1548981877/821
822: デフォルトの名無しさん (ワッチョイ be3b-cfMa) [sage] 2020/12/06(日) 11:58:40.89 ID:5Rf1GOX10 見るからに面倒臭い http://mevius.5ch.net/test/read.cgi/tech/1548981877/822
823: デフォルトの名無しさん [sage] 2020/12/07(月) 09:18:58.50 ID:zfvnE2zk $basetime = timelocal_nocheck($sec, $min, $hours, $mday+$intvl, $mon-1, $year-1900); http://mevius.5ch.net/test/read.cgi/tech/1548981877/823
824: デフォルトの名無しさん [sage] 2020/12/07(月) 09:43:24.77 ID:UAiCPmDo Time::Piece はよくできてて、何かのログとかに現在時刻を書き出す、 とかの用途には十分に使える でも、時刻計算や日数計算はあまり考慮されていない 現在時刻からの計算はできても、任意の時刻からだと弱い http://mevius.5ch.net/test/read.cgi/tech/1548981877/824
825: デフォルトの名無しさん [sage] 2020/12/07(月) 14:03:32.45 ID:tC78i6pr >>807 use Time::Piece; use Time::Seconds; my $day = Time::Piece->strptime('2020-12-05', '%Y-%m-%d'); $day += ONE_DAY * 100; print $day->date, "\n"; print $day->year, "\n"; print $day->mon, "\n"; print $day->mday, "\n"; http://mevius.5ch.net/test/read.cgi/tech/1548981877/825
826: デフォルトの名無しさん [sage] 2020/12/07(月) 14:21:35.27 ID:UAiCPmDo まあ、strptime さえ目を瞑れば こんなもん、何か見ないと書けない http://mevius.5ch.net/test/read.cgi/tech/1548981877/826
827: デフォルトの名無しさん [] 2020/12/07(月) 15:40:13.93 ID:15jj6qfl use POSIX; を宣言してCの標準関数に似た時刻処理機能を使うのが普通じゃないの? Cの時刻処理サンプルコードを円滑にPerlに移植できるよ。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/827
828: デフォルトの名無しさん [sage] 2020/12/07(月) 17:17:12.82 ID:VC6/tHTg >>826 DateTimeモジュール使えば全て解決なんだが クソデカくて重いという弱点が http://mevius.5ch.net/test/read.cgi/tech/1548981877/828
829: 532 [sage] 2020/12/07(月) 21:57:48.14 ID:WG5ppFXF Time::Pieceの弱点は strptime()で作ったインスタンスのtimeゾーンをいじれないとこかな? 後1つなんか弱手あった気がするが忘れた http://mevius.5ch.net/test/read.cgi/tech/1548981877/829
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 173 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.024s