Perlに関するnanto_viのブックマーク (7)

  • 結合文字列を合成する安全な方法を考える - Qiita

    結合文字列をUnicode正規化で合成する方法の危険性 では、結合文字列を解消する方法としてNFCを適用することの危険性を説明しました。それではどうしたらいいのかをここで考えてみます。 考察 結合文字列を解消する現実的な方法は「Composition Exclusionを処理対象から除いてNFCを適用する」だと思います。そこでComposition Exclusionを正規表現にしてみたのがこちら。 これをもとにしてhappyscriptさんが書いてくれたPerlのスクリプトがこちら。 #!/usr/bin/perl use strict; use Unicode::Normalize; use utf8; #-ソースがUTF8だという宣言 use Encode; binmode STDOUT, ":utf8"; #-画面に出力したい文字コード binmode STDERR, ":utf8

    結合文字列を合成する安全な方法を考える - Qiita
  • [perl][memo] File::Tempのバッドノウハウ

    ■まとめ tempfile(...)が作成したテンポラリファイルは、環境によってはflockされていることがある tempfile(CLEANUP => 1)は、テンポラリファイルへの参照をretainする つまり、CLEANUPを指定している場合、参照カウントに頼った自動closeは機能しないので、明示的にcloseする必要がある また、明示的にcloseしないとflock可能にならない場合がある ■ログ 16:23:30 <kazuho_> あれ perl って file handle への refcnt がゼロになったら自動的に close してくれますよね 16:23:43 <tokuhirom> してくれますね 16:23:48 <tokuhirom> しなきゃおかしいw 16:32:33 <kazuho_> https://gist.github.com/kazuho/1116

    nanto_vi
    nanto_vi 2014/04/22
    open my $fh, '+>', undef で作る一時ファイルだとどういう扱いになるんだろう。
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • リストと配列(Array)はPerlでは別物

    songmu @songmu @hisaichi5518 @shiba_yu36 リストと配列(Array)はPerlでは別物だよ。リストはlisp由来。値の返し方のコンテキストがスカラとリストがある。ハッシュだって、値を返させるとリストを返すでしょう。 2012-02-25 20:36:33 songmu @songmu @hisaichi5518 @shiba_yu36 my %hash;$hash{qw/1 2 3/} = 'hoge';say $hash{qw/1 2 3/};say Dumper \%hash; とかやると驚きの結果が。 2012-02-25 20:39:13

    リストと配列(Array)はPerlでは別物
  • 日本Perl改造計画 とほほの Perl編 その1 - Shohei Yoshida's Diary

    みなさんは Perlを勉強し始めた人のブログエントリーを見てこんなことを 思ったことはないでしょうか ? 「なんでこんな古臭いコードを書いているんだ」 私は結構有ります。3引数の openでなかったり、ベアワードが大量に 使われていたり、myが使われていなかったり。なんでそういうコードを 書くのかはその人達に聞いてみないとわからないですが、以下のことが 考えられます。 古い書籍を見ている 古い内容のサイトを見て書いている 1については時間が解決してくれるかもしれないですが、そのようなを すべて抹消するというのは現実的ではない。なんで 2をなんとかできないか 考えてみました。 google.co.jpで「perl」でググった結果(2011年11月11日現在) Perl - Wikipedia とほほのperl入門 The Perl Programming Language - www.pe

    日本Perl改造計画 とほほの Perl編 その1 - Shohei Yoshida's Diary
    nanto_vi
    nanto_vi 2011/11/12
    これはすごい。最終的に反映してもらえるのか非常に気になる。
  • 404 Blog Not Found:perl - to goto or not to goto, that's the continuation

    2007年04月18日06:45 カテゴリLightweight Languages perl - to goto or not to goto, that's the continuation Perlでもgotoを使えば、当の継続(continuation)が可能であることを示す。 継続ってなんのことだかさっぱりわからない一は、以下にあらかじめ目をとおしておいていただきたい。 なんでも継続 なんでも継続、Perl で。 : torus solutions! 404 Blog Not Found:継続は力なり Tociyuki::Diary - Perl 5.8 で似非継続 Perl 5のgotoには、3種類ある。 goto LABEL こちらはCなどで見られるgotoと等価である。 goto END; print "Hello\n"; END: print "Goobye\n"; G

    404 Blog Not Found:perl - to goto or not to goto, that's the continuation
    nanto_vi
    nanto_vi 2007/07/03
    継続、goto &CODE。
  • トランポリン版の継続渡し leaf_count_cps_t - Tociyuki::Diary

    11月16日に goto を使った強引なやりかたで、末尾再帰のループ化と継続渡しの実行をやってみたところ、コメント欄で shiro さんにトランポリンを紹介してもらいました。 ⇒ http://d.hatena.ne.jp/tociyuki/20061116/1163674424#c1163895106 shiro 『なお、ベース言語が末尾呼出し最適化を保証してくれない場合によく使う手としてトランポリンがあります。各関数を、結果を返すのではなく、その関数の継続手続きを返すように書いておきます。そして、(途中略)ひたすら返って来た継続を呼び出しつづけるドライバを書いて駆動します。 これだとベース言語のスタックを消費しません。』 随分と、あれから経った気がしますが、突然、これをやってみたくなったので試してみました。 まずは、関数コールをおこなわせるコードリファレンスをドライバに渡して、こんな風

    トランポリン版の継続渡し leaf_count_cps_t - Tociyuki::Diary
  • 1