タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

idiomに関するtsucchi1022のブックマーク (3)

  • coderef を使うときの注意 - tsucchi の日記 2nd season

    tsucchi@dev[1017]$ perl test.pl Can't return outside a subroutine at test.pl line 9. こんな感じでエラーになる。hoge の前に print などを入れると表示されることなどから、これはコンパイルエラーではなく、実行時エラーだと分かる。 では、この hoge()を呼んでいる部分を eval で囲むとどうなるだろうか? ソース的には下記のような感じである。

    tsucchi1022
    tsucchi1022 2014/05/16
    書いた
  • 今だからこそ知って欲しい、splice の話 - tsucchi の日記 2nd season

    タイトルはちょっと釣りっぽいかも。 たとえば配列に id が10万件位入っていて、コレを使って SQL の DELETE 文を発行してデータをパージしたい、とします。(仮にDELETEとしたけど、SELECT でも UPDATE でも一緒の話。DBの処理じゃなくても多分こういうのある)。 こういうとき、10万件一気に IN で指定すると、多分SQLが長過ぎてエラーになるし、もしエラーにならなくても遅いし、かといって 1件ずつ処理してもやっぱり遅いので、ふつうは何件かまとめて処理します。 仮に1000件毎に処理するとしましょう。 こういうとき、どうするか、というのが今日のお話。どうします? やり方はいくつかあると思うのですが、この場合僕は splice を使います。 my @ids = ... #10万件のidの配列 while ( my @sub_ids = splice(@ids, 0,

    tsucchi1022
    tsucchi1022 2014/02/06
    記事書いた
  • タイムゾーン文字列をオフセットに変換する - tsucchi の日記 2nd season

    やりたいこと 'Asia/Tokyo' のようなタイムゾーンを表す文字列を、「+0900」や「32400」(秒=9h)に変換する。 やり方 DateTime を使って変換する(?) use strict; use warnings; use DateTime; my $dt = DateTime->now(); $dt->set_time_zone('Asia/Tokyo'); warn $dt->offset; # => 32400 warn $dt->strftime("%z"); # => +0900

    tsucchi1022
    tsucchi1022 2013/12/11
    記事書いた
  • 1