CGI についての質問は板違いです。WEB プログラミング板でどうぞ。
CGI と Perl の区別がつかない人も WEB プログラミング板に行ってください。
(WEB プログラミング板: http://hibari.2ch.net/php/ )
回答する際はモダンな方法でお願いします
(例 jcode.plではなくEncodeモジュールを使った方法)
理由はもう2012年です。いい加減2000年以前の方法はやめましょう。
最新のPerlを使うほうがかっこいいです。
いつまで勉強しないつもりですか?
過去にとらわれるのはもうやめです。進歩しませんよ。
このスレでは(CGI 以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
"The duct tape of the Internet" こと、Perl についての質問箱です。
"There's more than one way to do it" ということで、
Perl の奥深さについて皆で語り合い、追求してまいりましょう。
http://www.perl.org/get.html
● 2011/10/30 現在の最新版: 5.14.2
▼ 前スレ
Perlについての質問箱 49箱目
http://toro.2ch.net/test/read.cgi/tech/1319953460/
リンク集は >>2-3辺り
Perl 日本語処理の基礎の基礎 >>4辺り
探検
【モダン推奨】Perlについての質問箱 50箱目
■ このスレッドは過去ログ倉庫に格納されています
2012/01/21(土) 10:56:39.03
180デフォルトの名無しさん
2012/04/17(火) 22:06:08.88181デフォルトの名無しさん
2012/04/18(水) 03:18:24.23 一方、日本は...
瞳をとじた
瞳をとじた
182デフォルトの名無しさん
2012/04/29(日) 00:38:07.87そしてこのスレッドもクローズした
183デフォルトの名無しさん
2012/04/29(日) 06:35:31.99 再開
184デフォルトの名無しさん
2012/04/29(日) 06:52:54.09∧∧
( ゚Д゚ )∩
⊂ ノ
/ 0
し´
えっ…と、
ここかな…、と
∧∧ ∧∧
∩゚Д゚≡゚Д゚ )
`ヽ |)
| __ |〜
∪ ∪
ドスッ
∧∧.ミ. _
( )┌┴┴┐
/ つ.再開│
〜 ./ └┬┬┘
∪∪ ││_ε3
゛゛゛゛
185デフォルトの名無しさん
2012/04/29(日) 14:21:23.37 最近のPerlでOOP用ライブラリってどんなのが主流ですか?
186デフォルトの名無しさん
2012/04/29(日) 14:23:06.27 Mooseだろ?
最近のライブラリでそれ以外使ってるの有るのか?
最近のライブラリでそれ以外使ってるの有るのか?
187デフォルトの名無しさん
2012/04/29(日) 14:25:50.06 ありがとうございますMoose調べてきます
188デフォルトの名無しさん
2012/04/29(日) 18:38:18.38 Mooseが重いと思ったらMouseとAny::Mooseの組合せで代用もよし
189デフォルトの名無しさん
2012/04/29(日) 20:25:09.14 最初から Mouse 使ったほうが
190デフォルトの名無しさん
2012/05/15(火) 18:28:38.45 cpan でモジュールインストールしんたいんだけど
install やら make やら make install やら全部 OK
でたのに
perldoc -l インストールしたモジュール名
やるとそんなのないて怒られる。
なんで?
install やら make やら make install やら全部 OK
でたのに
perldoc -l インストールしたモジュール名
やるとそんなのないて怒られる。
なんで?
191デフォルトの名無しさん
2012/05/15(火) 22:29:19.68192デフォルトの名無しさん
2012/05/16(水) 07:35:09.36 >>191
cpan>install Math::Vector::Real
でいれて
全部 make やら make install やら全部 OK と出たが
ないようだった。
cpanplus でインストールしてみたらいけたのだが原因がわからない。
cpan>install Math::Vector::Real
でいれて
全部 make やら make install やら全部 OK と出たが
ないようだった。
cpanplus でインストールしてみたらいけたのだが原因がわからない。
193デフォルトの名無しさん
2012/05/16(水) 19:04:48.32 Regexp::Assembleでマッチした時って
後方参照使えるの?
後方参照使えるの?
194デフォルトの名無しさん
2012/06/20(水) 00:40:13.88 perl 5.10.1 を使っています。
$str = "ABCD"; の時
@a = $str =~ /AB|CD/g;
を実行すると、@a = ( "AB", "CD" ) と2つの要素が返されますが、
@a = $str =~ /AB|BC/g;
だと、@a = ( "AB" ) しか帰ってきません。
(ABがマッチしたら、その次のCからサーチが始まるため)
@a に ("AB", "BC") と、マッチするものすべてを得たい場合、
どうすればよいでしょうか。
$str = "ABCD"; の時
@a = $str =~ /AB|CD/g;
を実行すると、@a = ( "AB", "CD" ) と2つの要素が返されますが、
@a = $str =~ /AB|BC/g;
だと、@a = ( "AB" ) しか帰ってきません。
(ABがマッチしたら、その次のCからサーチが始まるため)
@a に ("AB", "BC") と、マッチするものすべてを得たい場合、
どうすればよいでしょうか。
195デフォルトの名無しさん
2012/06/20(水) 01:29:26.87 なんか面白そうなお題なのでとりあえず最悪くさいものを作ってみた
素晴らしい人がボロクソにけなしてくれると期待しつつ投げてみる
$str='ABCD';
{
my $tmp=$str;
while($tmp=~/AB|BC/){
push @a,$&;
$tmp = $&.$';
$tmp=~s/^.//;
}
}
print join' ',@a;
素晴らしい人がボロクソにけなしてくれると期待しつつ投げてみる
$str='ABCD';
{
my $tmp=$str;
while($tmp=~/AB|BC/){
push @a,$&;
$tmp = $&.$';
$tmp=~s/^.//;
}
}
print join' ',@a;
196194
2012/06/20(水) 02:51:53.45 >>194
場当たり的に色々試していたら
@a = $str =~ /(?=(AB|BC))/g;
で、(AB,BC) が取得できました。
(?= で、次の走査開始点を移動させないようにしたから、でしょうか?
場当たり的に色々試していたら
@a = $str =~ /(?=(AB|BC))/g;
で、(AB,BC) が取得できました。
(?= で、次の走査開始点を移動させないようにしたから、でしょうか?
197デフォルトの名無しさん
2012/07/15(日) 14:22:38.65 一過性のモダンPerlはもう終わり。
らくだ本の発行によって本来のPerlへの回帰が始まっている。
らくだ本の発行によって本来のPerlへの回帰が始まっている。
198デフォルトの名無しさん
2012/07/15(日) 14:36:07.64 本来のPerl=5.0でも動く範囲でしかコード書かない
199デフォルトの名無しさん
2012/07/15(日) 16:03:33.45 そういえばPerl5のスレってないね?やっぱりまだPerlの方が使われてるのかな?
200デフォルトの名無しさん
2012/07/20(金) 00:44:57.65 モダンPerl書いたひとはどうしてるの?最近見ないけど、やっぱりだめなの?
201デフォルトの名無しさん
2012/07/20(金) 06:04:14.97 まあソースをみて改良したりとか前向きな動機はほぼゼロで99.99%はこのメーカー
困らせてやれって開示請求なんだろうな。
困らせてやれって開示請求なんだろうな。
202デフォルトの名無しさん
2012/07/20(金) 23:17:21.71 モダンな奴はそもそもPerl使わないからな
203デフォルトの名無しさん
2012/07/25(水) 02:06:14.30 USP(Universal Shell Programming)研究所は、UNIX/Linuxの基本思想である、
「小さな道具」(コマンド)を組み合わせて「問題を解決する」(シェルス
クリプト)手法の研究・普及を行っています。この開発手法(ユニケージ
開発手法)は、従来のウォーターフォール型開発や、オブジェクト指向言
語・データベースソフトを用いた開発手法と一線を画し、圧倒的な開発生産
性 圧倒的な柔軟性を特徴としています。
ttp://www.usp-lab.com/
「小さな道具」(コマンド)を組み合わせて「問題を解決する」(シェルス
クリプト)手法の研究・普及を行っています。この開発手法(ユニケージ
開発手法)は、従来のウォーターフォール型開発や、オブジェクト指向言
語・データベースソフトを用いた開発手法と一線を画し、圧倒的な開発生産
性 圧倒的な柔軟性を特徴としています。
ttp://www.usp-lab.com/
204デフォルトの名無しさん
2012/07/30(月) 19:45:03.06 本スレも、荒しに常駐されてぐだぐだだし、
WebProgの方も同じみたいに、スレ違いの会話が
ぐだぐだ続いて終了したし、終りかなあ。
ここのスレの方がまだ真面にperlの話をしてた気がするよ。
WebProgの方も同じみたいに、スレ違いの会話が
ぐだぐだ続いて終了したし、終りかなあ。
ここのスレの方がまだ真面にperlの話をしてた気がするよ。
205デフォルトの名無しさん
2012/07/30(月) 20:56:12.50 まあモダンには2つあって、ひとつはすぐに古くなるモダン。
もうひとつはいつまでも古くならないモダン。
おれは断然古くならないモダンのほうがいいな。
もうひとつはいつまでも古くならないモダン。
おれは断然古くならないモダンのほうがいいな。
206デフォルトの名無しさん
2012/07/30(月) 23:46:15.85 XSを使うと1年後に古くなるほうのモダンですか?
207デフォルトの名無しさん
2012/07/30(月) 23:47:25.65 軟便スキー独りか知らんが、
韓国ネタのコピペしたり
hoge煽りしたり
ググれ煽りしたり
馬鹿じゃねーの?
韓国ネタのコピペしたり
hoge煽りしたり
ググれ煽りしたり
馬鹿じゃねーの?
208デフォルトの名無しさん
2012/07/31(火) 00:19:41.40 そしてゆっくりモダンになっていく...
それが理想です
それが理想です
209デフォルトの名無しさん
2012/07/31(火) 00:27:00.96 進歩というものは過去を捨てることではない。
過去に加えて積み上げるものなのだ。
過去に加えて積み上げるものなのだ。
210デフォルトの名無しさん
2012/07/31(火) 01:28:15.89 荒しが950踏んで嬉々としてhoge禁止をテンプレに入れる姿が目に見える様だ
211デフォルトの名無しさん
2012/08/04(土) 17:51:38.53 過去のソフトウェアと作法やインタフェースが異なる言い訳としてモダンと
いう用語を使うのはまずい。今までより苦労が増えるなら移行は進むはず
がない。
いう用語を使うのはまずい。今までより苦労が増えるなら移行は進むはず
がない。
212デフォルトの名無しさん
2012/08/05(日) 20:55:07.11 ところでこのスレが53箱目の続きってことでいいの?
213デフォルトの名無しさん
2012/08/05(日) 20:56:46.40 すまん、53箱目の続きあった。“54目”になってたんで検索に引っかからなかったわ。
214デフォルトの名無しさん
2012/08/06(月) 18:23:11.89 以下のように時刻と曜日が書かれたlogファイルがあります。
Jun 6 00:07:41 xxxxx
Aug 8 00:14:34 yyyyy
Aug 8 00:16:26 zzzzz
〜
(以下略
現時刻から一時間前のログのみ抽出して、抽出したログの行数だけ出したいのですがこの処理って一行(ワンライナー)で書けますか?※重複とかは無視して単純に一時間分のログが引っこ抜ければ良いです。
詳しい人教えてください。
Jun 6 00:07:41 xxxxx
Aug 8 00:14:34 yyyyy
Aug 8 00:16:26 zzzzz
〜
(以下略
現時刻から一時間前のログのみ抽出して、抽出したログの行数だけ出したいのですがこの処理って一行(ワンライナー)で書けますか?※重複とかは無視して単純に一時間分のログが引っこ抜ければ良いです。
詳しい人教えてください。
215デフォルトの名無しさん
2012/08/06(月) 18:26:08.19216デフォルトの名無しさん
2012/08/06(月) 18:57:53.32217デフォルトの名無しさん
2012/08/07(火) 18:06:48.10218デフォルトの名無しさん
2012/08/07(火) 18:12:29.44 横レス(別人)
$ perl -F'/[\s:]+/' -MTime::Local -lane 'BEGIN{ %m = map{uc $_, $i ++} qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);} next if ( time - timelocal @F[4,3,2,1], $m{uc $F[0]}, 2012 - 1900 ) > 3600 ; print ;' *txt
年は 2012 年を期待、 2013 年になったら知らん。
年跨ぎを念頭に入れるとなると log file の形式から作成しなおし。
win の人なら、シングルクォーテーションをダブルに
変えなきゃ動かんかも。
勉強したいのであれば、エポック秒、時間比較 perl あたりでググる。
$ perl -F'/[\s:]+/' -MTime::Local -lane 'BEGIN{ %m = map{uc $_, $i ++} qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);} next if ( time - timelocal @F[4,3,2,1], $m{uc $F[0]}, 2012 - 1900 ) > 3600 ; print ;' *txt
年は 2012 年を期待、 2013 年になったら知らん。
年跨ぎを念頭に入れるとなると log file の形式から作成しなおし。
win の人なら、シングルクォーテーションをダブルに
変えなきゃ動かんかも。
勉強したいのであれば、エポック秒、時間比較 perl あたりでググる。
219デフォルトの名無しさん
2012/08/07(火) 18:20:05.07 >>218
あんた2012年の住人じゃないだろw
あんた2012年の住人じゃないだろw
220デフォルトの名無しさん
2012/08/07(火) 18:30:46.11221デフォルトの名無しさん
2012/08/07(火) 18:34:05.93 年跨ぎのケースを考え無くて良いなら、コードの2012を2013にすりゃいいだけ。
222デフォルトの名無しさん
2012/08/08(水) 18:20:12.98 というより、「年」は全部今年として扱えばいい。
年が明けてから1時間はまともにログを拾えなくなるけど。
そもそもログデータに「年」の情報が入っていないんだから、
厳密に処理するのは無理だべ。
年が明けてから1時間はまともにログを拾えなくなるけど。
そもそもログデータに「年」の情報が入っていないんだから、
厳密に処理するのは無理だべ。
223デフォルトの名無しさん
2012/08/08(水) 18:36:12.52 >>218に対して言ってるのなら、
最初からそれを念頭に書いてないか?
コードは既にそうなってるし、
説明文の方は質問者に向けたもんだし、
改造しやすいように除算は態々、2012 -1900 にして残してあるし。
それともtime関数に、年を除外するオプションでもあんの?
最初からそれを念頭に書いてないか?
コードは既にそうなってるし、
説明文の方は質問者に向けたもんだし、
改造しやすいように除算は態々、2012 -1900 にして残してあるし。
それともtime関数に、年を除外するオプションでもあんの?
224デフォルトの名無しさん
2012/08/08(水) 19:02:57.22 >>223
年が変わるごとに 2012 を 2013 だの 2014 だのに書き換えるの面倒だろうから
「年」のところはログの日付も現在の時間も全部localtimeの「今年」という前提で
扱えば毎年コード書き直さなくてもよくなるだろっていってるんだよボケ。
年が変わるごとに 2012 を 2013 だの 2014 だのに書き換えるの面倒だろうから
「年」のところはログの日付も現在の時間も全部localtimeの「今年」という前提で
扱えば毎年コード書き直さなくてもよくなるだろっていってるんだよボケ。
225デフォルトの名無しさん
2012/08/08(水) 19:09:28.99 perl -F'/[\s:]+/' -MTime::Local -lane 'BEGIN{ %m = map{uc $_, $i ++} qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);} next if ( time - timelocal @F[4,3,2,1], $m{uc $F[0]}, ( localtime(time))[5] ) > 3600 ; print ;' *txt
こういう意味ねw、了解した。
こういう意味ねw、了解した。
226デフォルトの名無しさん
2012/08/08(水) 19:17:05.60 で、試しに自分でも書いてみた。
LC_ALL=C perl -MTime::Piece -e '$lt=localtime;$ty=$lt->year;while(<>){next unless m/(\w+) +(\d+) +(\d+:\d+:\d+)/;$t=Time::Piece->strptime("$ty $1 $2 $3","%Y %b %d %H:%M:%S");$c++ if $lt-$t<3600}print "$c\n"' logfile
218の方がすっきりしてるか。なぜかうちの環境だとエラー吐いて動かなかったけど…。
(Day 'Jun' out of range 1..31 at -e line 1 て言われた)
LC_ALL=Cは環境によってはつけとかないとTime::Piece->strptime()がエラー吐くんで。
行数が知りたい、だったので行数出力にしたけど、該当行を全部出したいんだったら
$c++以降を print if $lt-$t<3600}' に置き換えれば218と同じ出力になる。
行数はwc使えばあとからでもわかるしね。
LC_ALL=C perl -MTime::Piece -e '$lt=localtime;$ty=$lt->year;while(<>){next unless m/(\w+) +(\d+) +(\d+:\d+:\d+)/;$t=Time::Piece->strptime("$ty $1 $2 $3","%Y %b %d %H:%M:%S");$c++ if $lt-$t<3600}print "$c\n"' logfile
218の方がすっきりしてるか。なぜかうちの環境だとエラー吐いて動かなかったけど…。
(Day 'Jun' out of range 1..31 at -e line 1 て言われた)
LC_ALL=Cは環境によってはつけとかないとTime::Piece->strptime()がエラー吐くんで。
行数が知りたい、だったので行数出力にしたけど、該当行を全部出したいんだったら
$c++以降を print if $lt-$t<3600}' に置き換えれば218と同じ出力になる。
行数はwc使えばあとからでもわかるしね。
227デフォルトの名無しさん
2012/08/08(水) 19:19:19.26228デフォルトの名無しさん
2012/08/08(水) 19:28:58.56 >>226
> 218の方がすっきりしてるか。なぜかうちの環境だとエラー吐いて動かなかったけど…。
> (Day 'Jun' out of range 1..31 at -e line 1 て言われた)
なぜエラーが出たかわかった。自分でテスト用に切り出して作ったログファイルの
各行頭にスペースが入っていたからだった。(ありがち)
> 218の方がすっきりしてるか。なぜかうちの環境だとエラー吐いて動かなかったけど…。
> (Day 'Jun' out of range 1..31 at -e line 1 て言われた)
なぜエラーが出たかわかった。自分でテスト用に切り出して作ったログファイルの
各行頭にスペースが入っていたからだった。(ありがち)
229デフォルトの名無しさん
2012/08/08(水) 21:24:39.24230デフォルトの名無しさん
2012/08/09(木) 03:59:05.87 perl -MTime::Piece -lE 'my $lt=localtime; my $ty=$lt->year ; while(<>){next unless m/(\w+) +(\d+) +(\d+:\d+:\d+)/;\
my $t=Time::Piece->strptime("$ty $1 $2 $3","%Y %b %d %H:%M:%S"); print q{#####} ; print ; print $lt ; print $t ; print $lt-$t }' log file
#####
Jun 6 00:07:41 xxxxx
Thu Aug 9 03:45:48 2012
Wed Jun 6 00:07:41 2012
5510287
#####
Aug 8 00:14:34 yyyyy
Thu Aug 9 03:45:48 2012
Wed Aug 8 00:14:34 2012
66674
#####
Aug 8 00:16:26 zzzzz
Thu Aug 9 03:45:48 2012
Wed Aug 8 00:16:26 2012
66562
#####
Aug 8 22:15:14 zzzzz
Thu Aug 9 03:45:48 2012
Wed Aug 8 22:15:14 2012
-12566
うちの環境だとTime::Pieceオブジェクトの除算が変だ。なんで?
my $t=Time::Piece->strptime("$ty $1 $2 $3","%Y %b %d %H:%M:%S"); print q{#####} ; print ; print $lt ; print $t ; print $lt-$t }' log file
#####
Jun 6 00:07:41 xxxxx
Thu Aug 9 03:45:48 2012
Wed Jun 6 00:07:41 2012
5510287
#####
Aug 8 00:14:34 yyyyy
Thu Aug 9 03:45:48 2012
Wed Aug 8 00:14:34 2012
66674
#####
Aug 8 00:16:26 zzzzz
Thu Aug 9 03:45:48 2012
Wed Aug 8 00:16:26 2012
66562
#####
Aug 8 22:15:14 zzzzz
Thu Aug 9 03:45:48 2012
Wed Aug 8 22:15:14 2012
-12566
うちの環境だとTime::Pieceオブジェクトの除算が変だ。なんで?
231デフォルトの名無しさん
2012/08/09(木) 05:09:37.92 >>230
あう〜。ホントだ。ウチでも同じだ。
Time::Piece->strptime()でTime::Pieceオブジェクトを作るとgmtimeベースになるっぽい。
ttp://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A1%E3%83%A2%2FTime%3A%3APiece%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB
だから引き算の結果がTZのoffset分ずれるのか…。strptime()でlocaltimeベースにするには…
$ LC_ALL=C perl -MTime::Piece -lE '$lt=localtime;$ty=$lt->year;while(<>){next unless m/(\w+) +(\d+) +(\d+:\d+:\d+)/;\
$t=localtime Time::Piece->strptime("$ty $1 $2 $3","%Y %b %d %H:%M:%S")->epoch;$t-=$lt->tzoffset;\
say q{#####};say $lt," = ",$lt->[Time::Piece::c_islocal];say $t," = ",$t->[Time::Piece::c_islocal];say $lt-$t}' logfile
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Jun 6 00:07:41 2012 = 1
5546979
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Aug 8 00:14:34 2012 = 1
103366
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Aug 8 00:16:26 2012 = 1
103254
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Aug 8 19:20:14 2012 = 1
34626
(こんな時間に何をやっているんだか)
もしくはstrptime()の方をいじらずに、
$lt=localtime; → $lt=gmtime;$lt+=localtime->tzoffset;
か…。gmtimeベースになっちゃうけど引き算の結果は正しくなる。
という訳で、けっこういろいろとメンドくさいもんですね。
あう〜。ホントだ。ウチでも同じだ。
Time::Piece->strptime()でTime::Pieceオブジェクトを作るとgmtimeベースになるっぽい。
ttp://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A1%E3%83%A2%2FTime%3A%3APiece%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB
だから引き算の結果がTZのoffset分ずれるのか…。strptime()でlocaltimeベースにするには…
$ LC_ALL=C perl -MTime::Piece -lE '$lt=localtime;$ty=$lt->year;while(<>){next unless m/(\w+) +(\d+) +(\d+:\d+:\d+)/;\
$t=localtime Time::Piece->strptime("$ty $1 $2 $3","%Y %b %d %H:%M:%S")->epoch;$t-=$lt->tzoffset;\
say q{#####};say $lt," = ",$lt->[Time::Piece::c_islocal];say $t," = ",$t->[Time::Piece::c_islocal];say $lt-$t}' logfile
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Jun 6 00:07:41 2012 = 1
5546979
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Aug 8 00:14:34 2012 = 1
103366
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Aug 8 00:16:26 2012 = 1
103254
#####
Thu Aug 9 04:57:20 2012 = 1
Wed Aug 8 19:20:14 2012 = 1
34626
(こんな時間に何をやっているんだか)
もしくはstrptime()の方をいじらずに、
$lt=localtime; → $lt=gmtime;$lt+=localtime->tzoffset;
か…。gmtimeベースになっちゃうけど引き算の結果は正しくなる。
という訳で、けっこういろいろとメンドくさいもんですね。
232デフォルトの名無しさん
2012/08/09(木) 08:02:26.85233デフォルトの名無しさん
2012/08/09(木) 08:03:44.22 レスくれた人ありがとうございます>>214です。
まだperlは入門書読み終わった程度なので右も左も分かりませんが、教えて頂いたコードを参考に色々書き方を研究したいと思います。
まだperlは入門書読み終わった程度なので右も左も分かりませんが、教えて頂いたコードを参考に色々書き方を研究したいと思います。
234デフォルトの名無しさん
2012/08/12(日) 12:31:10.61 入門書読み終えたばかりの初心者には組込みのlocaltime関数を教えてあげないよ
235デフォルトの名無しさん
2012/08/13(月) 16:57:18.75 >>234
なにが言いたいのかわからん
なにが言いたいのかわからん
236デフォルトの名無しさん
2012/08/14(火) 00:43:26.35 ほら、俺ってサ
意外にすいすいしいヤツ
だからサ
意外にすいすいしいヤツ
だからサ
237デフォルトの名無しさん
2012/08/14(火) 23:54:42.42 初心者には localtime の方が便利な件
238デフォルトの名無しさん
2012/08/15(水) 05:40:02.45 >>234,>>237
既に>>225が提示してるだろ?
学習するかは質問者さんの勝手。
>>232
目医者行け。
266氏を晒す訳じゃないが、ワンライナにwhile(<>){}直接埋め込んでる時点で
スタイリッシュじゃない。
225に相当するコードをTime::Pieceで書いた場合、
perl -F'\s+' -MTime::Piece -lanE 'state $lt = localtime; next if $lt - localtime( Time::Piece->strptime((join " ", $lt->year,@F[0..2]),"%Y %b %d %H:%M:%S")) > 3600; say'
226に略
perl -F'\s+' -MTime::Piece -lanE 'state $lt = localtime; $c++ if $lt - localtime( Time::Piece->strptime((join " ", $lt->year,@F[0..2]),"%Y %b %d %H:%M:%S")) < 3600;}{ say $c'
既に>>225が提示してるだろ?
学習するかは質問者さんの勝手。
>>232
目医者行け。
266氏を晒す訳じゃないが、ワンライナにwhile(<>){}直接埋め込んでる時点で
スタイリッシュじゃない。
225に相当するコードをTime::Pieceで書いた場合、
perl -F'\s+' -MTime::Piece -lanE 'state $lt = localtime; next if $lt - localtime( Time::Piece->strptime((join " ", $lt->year,@F[0..2]),"%Y %b %d %H:%M:%S")) > 3600; say'
226に略
perl -F'\s+' -MTime::Piece -lanE 'state $lt = localtime; $c++ if $lt - localtime( Time::Piece->strptime((join " ", $lt->year,@F[0..2]),"%Y %b %d %H:%M:%S")) < 3600;}{ say $c'
239266 (未来より参上)
2012/08/15(水) 16:15:51.26 >>238
おおうスタイリッシュ。
state とか使ったことなかったけど便利そうだな。参考にさせていただきます。
ワンライナーはあんまし書かないのもあってオプションも -i -n -p -e くらいしか
普段使ってなかったりしますんで。-E すら滅多に使わないな…。nもpもなしに
while(<>)埋め込むのもループの前後で処理が必要な時とかは普通にやってるし。
その程度のスキルでもとりあえず動くものは書けるってのがPerlのメリットでもあり
欠点でもあると…まあこの場合メリットということで。TMTOWTDI。(覚えづらいよなこれ)
おおうスタイリッシュ。
state とか使ったことなかったけど便利そうだな。参考にさせていただきます。
ワンライナーはあんまし書かないのもあってオプションも -i -n -p -e くらいしか
普段使ってなかったりしますんで。-E すら滅多に使わないな…。nもpもなしに
while(<>)埋め込むのもループの前後で処理が必要な時とかは普通にやってるし。
その程度のスキルでもとりあえず動くものは書けるってのがPerlのメリットでもあり
欠点でもあると…まあこの場合メリットということで。TMTOWTDI。(覚えづらいよなこれ)
240デフォルトの名無しさん
2012/08/16(木) 22:01:16.60 なんで隔離スレで真面目に質問箱してんのよw
>>233
コード研究するんだったら、B::Deparseは必須。
% perl -MO=Deparse -lane '}{ print $.'
BEGIN { $/ = "\n"; $\ = "\n"; }
LINE: while (defined($_ = <ARGV>)) {
chomp $_;
our(@F) = split(' ', $_, 0);
}
{
print $.;
}
-e syntax OK
調べたいコードのオプションの先頭に、-MO=Deparseくっつけるだけ。
それにしても、バルサン炊いたみたいに、人がいなくなったな本スレと初心者スレ。
実際の所は、ハイエナが肉に夢中になってるだけだろうけど。
>>233
コード研究するんだったら、B::Deparseは必須。
% perl -MO=Deparse -lane '}{ print $.'
BEGIN { $/ = "\n"; $\ = "\n"; }
LINE: while (defined($_ = <ARGV>)) {
chomp $_;
our(@F) = split(' ', $_, 0);
}
{
print $.;
}
-e syntax OK
調べたいコードのオプションの先頭に、-MO=Deparseくっつけるだけ。
それにしても、バルサン炊いたみたいに、人がいなくなったな本スレと初心者スレ。
実際の所は、ハイエナが肉に夢中になってるだけだろうけど。
241デフォルトの名無しさん
2012/08/19(日) 22:14:32.47 初めてのPerl第6版とPerl5.16.1のことだね。
Unicodeサポートの問題に今頃気づいたって読める。
第5版のときはまだ気づいていなかったのかな?
まあ、そんときは使ってなかったんだろうけどな。
Unicodeサポートの問題に今頃気づいたって読める。
第5版のときはまだ気づいていなかったのかな?
まあ、そんときは使ってなかったんだろうけどな。
242デフォルトの名無しさん
2012/08/20(月) 05:51:33.20 今上天皇侮辱発言の祭りが落ち着いたから、戻って来たぞゴキブリ。
でも、まあ、5割くらい減ったんじゃねーかな?
でも、まあ、5割くらい減ったんじゃねーかな?
243デフォルトの名無しさん
2012/08/20(月) 22:17:22.42 バルサン耐性を備えて5割以上パワーあっぷぷぷw
244デフォルトの名無しさん
2012/08/26(日) 15:07:51.22 ゆっくりモダンになっていく・・・
・・・モダンRuby。
・・・モダンRuby。
245デフォルトの名無しさん
2012/08/29(水) 00:35:50.14 モダンPERL追いかけてたら時代に取り残されましたとほほ
246デフォルトの名無しさん
2012/08/30(木) 21:05:34.35 >>245
その最後の「とほほ」だけで、もう10年以上は時代に取り残されてるよな
その最後の「とほほ」だけで、もう10年以上は時代に取り残されてるよな
247デフォルトの名無しさん
2012/08/30(木) 21:12:12.26 とほほだってよw
もうお前5.6こそ最高とかいって周りに強要してろよ
もうお前5.6こそ最高とかいって周りに強要してろよ
248デフォルトの名無しさん
2012/08/31(金) 00:07:22.19 5.6だと日本語がちゃんと使えません。仕事で使うなら5.005一択です。
249デフォルトの名無しさん
2012/09/01(土) 09:59:22.19 どうやらモダンパールは時代遅れみたいですね
本家のパールはすでにその先に進んでます
テキスト処理90%のPerlが文字列を楽に扱えないなんてたちの悪い冗談でしか
ありません
本家のパールはすでにその先に進んでます
テキスト処理90%のPerlが文字列を楽に扱えないなんてたちの悪い冗談でしか
ありません
250デフォルトの名無しさん
2012/09/02(日) 02:19:31.92 C++へのアンチテーゼの側面もあったPerlなのにモダンPerlはどうしちゃったのかな
251デフォルトの名無しさん
2012/09/03(月) 01:19:39.59 テクノロジーはスクラップアンドビルドなものと考える連中はとほほの内容が
古いと考えるようだ
古いと考えるようだ
252デフォルトの名無しさん
2012/09/08(土) 14:37:07.80 かってに「モダン」とか名乗るなや
253デフォルトの名無しさん
2012/09/09(日) 00:59:31.20 モダンでもないのにモダン名乗られてもなあ
254デフォルトの名無しさん
2012/09/09(日) 08:13:34.65 リャマ本第6版までモダンに毒されてるよ
おまいらリャマ本は第1版こそ至高・正義だ
定価より高くても中古で第1版を買え!
おまいらリャマ本は第1版こそ至高・正義だ
定価より高くても中古で第1版を買え!
255デフォルトの名無しさん
2012/09/09(日) 17:51:10.11 第1版ってのはバージョン4のピンク本のことか?あれは本当にいい本
256デフォルトの名無しさん
2012/09/09(日) 18:42:20.14 ダヨモンPerl
アリャマ本
アリャマ本
257デフォルトの名無しさん
2012/09/10(月) 00:59:47.94 赤らくだ本だとか赤リャマ本の序文、それにポケットリファレンスの序文でLarryはふざけ過ぎてしばらくの間O'reillyから干されていた。今回「まじめに書く」と誓ったためようやく第4版の執筆許可が下りたらしい。
258デフォルトの名無しさん
2012/09/12(水) 00:04:41.71 結局らくだ本的にはモダンPerl(=perl5.8)はスルーってことか
最近は重いモジュールも避けられる傾向にあるしな
最近は重いモジュールも避けられる傾向にあるしな
259デフォルトの名無しさん
2012/09/12(水) 00:11:25.67 重いモジュールも避けられる傾向にあるしな(キリッ
とか言う奴は十中八九List::Utilとかを使わない
とか言う奴は十中八九List::Utilとかを使わない
260デフォルトの名無しさん
2012/09/12(水) 00:30:32.64 実際に書かせてみればろくなコード書かないんだろうな
261デフォルトの名無しさん
2012/09/12(水) 00:31:53.70 モダンperlと言われているもののうち一部の重たいモジュールを持ち出して
重たいモジュールは避ける傾向にあるからモダンperlも避ける傾向だよねー
なんてどんな詭弁だよ
重たいモジュールは避ける傾向にあるからモダンperlも避ける傾向だよねー
なんてどんな詭弁だよ
262デフォルトの名無しさん
2012/09/12(水) 00:33:07.74 確かにLarryはモダンPerlについて多くを語ろうとしないな
きっと軽いスクリプトが好きなんだろうなList::Utilとか使わない
きっと軽いスクリプトが好きなんだろうなList::Utilとか使わない
263デフォルトの名無しさん
2012/09/12(水) 00:55:43.31 List::UtilはXSで書かれてるから自分でPerlで書くよりよっぽど高速なわけだが
てかとってつけたようにLarry様の名前出すなよw
てかとってつけたようにLarry様の名前出すなよw
264デフォルトの名無しさん
2012/09/12(水) 01:36:14.68 GUIやバイナリファイル扱うときにXSを使って効率を上げるのは分かるが
そうでないときにXS使ってスクリプトの利便性を下げるのは簡便だな。
そうでないときにXS使ってスクリプトの利便性を下げるのは簡便だな。
265デフォルトの名無しさん
2012/09/12(水) 01:47:29.25 勘弁
266デフォルトの名無しさん
2012/09/12(水) 02:38:31.59 >>264
なぜ利便性が下がる?
なぜ利便性が下がる?
267デフォルトの名無しさん
2012/09/13(木) 23:01:41.84 第1ヒント:テキスト萌えたんのポータビリティ強化月間
268デフォルトの名無しさん
2012/09/13(木) 23:29:47.30 「スクリプトが何かよく分かっていない」と書いたはらたいらに3,000点。
269デフォルトの名無しさん
2012/09/14(金) 23:30:28.34 バイナリではないところがスクリプトの利便性って分かるかな?無理かな?
270デフォルトの名無しさん
2012/09/15(土) 17:45:47.86 利便性の優先度
作る人の利便性 <<< 使う人の利便性
作る人の利便性 <<< 使う人の利便性
271デフォルトの名無しさん
2012/09/15(土) 18:43:43.53 中身が古いか新しいかは使う人の利便性に影響はしないけどね
272デフォルトの名無しさん
2012/09/15(土) 22:16:30.43 結局モダンかどうかは気持ちの問題だし、供給者側の主張次第でしょ
利用者側にとってはちゃんと使えればどうでもいいよそんなもん
利用者側にとってはちゃんと使えればどうでもいいよそんなもん
273デフォルトの名無しさん
2012/09/19(水) 01:43:10.30 モダンパールは単なる自己満足であったか
そもそも書いたときはモダンでも後で読むときはモダンではないわな
モダンと言われると互換性がないんじゃないかと思って警戒するひとも
いるかもしれないしな
そもそも書いたときはモダンでも後で読むときはモダンではないわな
モダンと言われると互換性がないんじゃないかと思って警戒するひとも
いるかもしれないしな
274デフォルトの名無しさん
2012/09/19(水) 02:38:41.68 use strict;
use Encode;
use Encode;
275デフォルトの名無しさん
2012/09/20(木) 09:27:07.77 Perl 6は、ポストモダンですか
276デフォルトの名無しさん
2012/09/20(木) 13:14:19.79 バイナリでの文字列置換をしています
$str =~ s/\xFF/\x00/g;
という書き方ならうまく行くのに、
$src = '\xFF';
$dst = '\x00';
$str =~ s/$src/$dst/g;
ではうまく行きません
$srcの部分は思い通り検索できるのに、
$dstの部分はバイナリではなく \x00 という文字列に置換されます
どうすればいいですか
$str =~ s/\xFF/\x00/g;
という書き方ならうまく行くのに、
$src = '\xFF';
$dst = '\x00';
$str =~ s/$src/$dst/g;
ではうまく行きません
$srcの部分は思い通り検索できるのに、
$dstの部分はバイナリではなく \x00 という文字列に置換されます
どうすればいいですか
277デフォルトの名無しさん
2012/09/20(木) 13:16:41.93 $dst = "\x00";
278デフォルトの名無しさん
2012/09/20(木) 13:31:02.66 確かにそういうことなのですが、
何故$dstという変数を使うかというと、その中身が不定だからです
$dst に '00' とか '01' とかいろんな文字列が入った場合の置換の書き方はありませんか
とりあえず、pack("C", hex($dst)) と書いて eオプションで評価すれば
うまく行くのは確認したのですが、$srcみたいなスマートな書き方はできないものかと
何故$dstという変数を使うかというと、その中身が不定だからです
$dst に '00' とか '01' とかいろんな文字列が入った場合の置換の書き方はありませんか
とりあえず、pack("C", hex($dst)) と書いて eオプションで評価すれば
うまく行くのは確認したのですが、$srcみたいなスマートな書き方はできないものかと
279デフォルトの名無しさん
2012/09/20(木) 14:11:13.98 packするのが一番マシじゃないだろうか
ただ置換内ではなくその直前に追い出したいけど
ただ置換内ではなくその直前に追い出したいけど
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 小川彩佳アナ「高市総理はここまで影響が出ることを想像して発言したんでしょうか」高市ソルジャー「!!!!(シュババババ)」 [931948549]
- 【悲報】おこめ券、9.5億円配布分のうち2.4億が経費、うちJAが1億円中抜き🤗高市ありがとう [359965264]
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
- 自閉症が「んなっしょい」と連呼するお🏡
