Perl 5.20にしたら、DBIが何やら不可解な動作をするようになりました。 問題の原因 保存されいてる文字コードがおかしい 解決策DBD::Pg編DBD::MySQL 比べるとDBIの仕様DBD::Pgの仕様変更 まとめ 問題の原因 どうやら UTF8 を扱う機能が増えたみたいです。DBIの接続時のパラメーターにこんなものが増えています。 pg_enable_utf8 => 1 , # 結果をUTF8フラグ付きにする(PostgreSQL)mysql_enable_utf8 => 1 , # 結果をUTF8フラグ付きにする(MySQL)PerlのDBIモジュールで自動的にUTF8フラグを付ける この影響で、PostgreSQL運用のシステムをPerl 5.14 から 5.20 にアップグレードしたところ文字化け発生。また厄介なことをしてくれたものです(汗) 保存されいてる

Perlの開発者であるLarry Wall氏が、ブリュッセルで開催中のオープンソース開発者カンファレンス「FOSDEM」において、2月1日(現地時間)に、同氏が2015年に61歳の誕生日を迎えることを明らかにするとともに、Perl 6.0のバージョン1.0を2015年のクリスマスにリリースすると発言した。Perlは現在、最新バージョンであるPerl 5系列と、開発中のPerl 6系列に分岐しており、Perl 6の開発は2000年のスタート以来、難航している。なお、Perl 6では言語仕様の大幅な変更が行われており、Perl 4やPerl 5との後方互換性が失われる。 今回のLarry Wall氏の発言について、Perl開発者の中には懐疑的な見方もあり、今回の発言によって、2015年のクリスマスにPerl 6のバージョン1.0が確実にリリースされるわけではないが、バージョン1.0について語

あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

Perl › バージョン情報 › herePerl 5.20がリリースされました。今回は結構盛りだくさん。ピックアップして紹介します。Perl 5.20で追加・変更された機能 IO::Socket::IPがコアモジュールにPerl 5.20ではIO::Socket::IPがコアモジュールになりました。Perlではソケットを使う場合にIO::Socket::INETを使っていましたが、ipv6のサポートを含めて、同一のインターフェースで利用できるモジュールのようです。CGI,Module::Buildが廃止予定になります 長年コアモジュールだったCGIモジュールが、次期リリースでコアからはずれます。。また、ピュアPerlでmake相当のことができるModule::Buildが次期リリースでコアからはずれます。 次期リリースのPerl 5.22からは、CGIモジュールは必要であればcp
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [intemplate "__entry.ftlh" atline 3, column 25] - Reached through: #include "__entry.ftlh" [intemplate "entry.ftlh" at
たとえばこんな。 Rakudo Star ではどれも実装済み。今すぐ使えます。 強化された正規表現Perl 6 の公式なパーサ自体もPerl 6 の正規表現で書かれています。 ……は置いといて。10行ちょっとでCSV をパースする正規表現が書ける。クォートされた値にも複数行にまたがる値にも対応。 #CSV クラスは以下のものを修正して使っています # http://github.com/masak/csv/blob/master/lib/Text/CSV.pm # 正規表現をまとめた grammar (クラスの一種) grammarCSV { regexTOP { ^ <line> ** \n <empty_line>? $ } regexline { <value> ** ',' } regex value { | <pure_text> | \s* \" <quoted_
モダンなPerl の開発環境の構築方法 一般的なOSX 環境およびLinux 環境における、モダンなPerl 開発環境の構築方法についてまとめてみたよ。 下準備 コンパイラなどをまずインストール。OSX なら Xcode、debian なら apt-getbuild-depperl する。perlbrew のインストールperlbrew をつかうことにより、簡単に最新版のPerl5 を利用することができるようになる。perlbrew をいれる。 %curl -L http://xrl.us/perlbrew |perl - install % ~/perl5/perlbrew/bin/perlbrew init ~/.bashrc (または ~/.zshrc)に source ~/perl5/perlbrew/etc/bashrc を追記。 あたらしいシェルをたちあ
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です -はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。はてなグループに投稿された日記データのエクスポートについて -はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記はてなグループ日記のエクスポートデータは2020年2月28
Perl5でのオブジェクトの基礎を解説したいと思います。Perlでのオブジェクト指向と言えば、モダンPerl系ではMooseモジュール等なのですが、今回は、あくまでも基礎編です。Perlで最速にオブジェクトをマスターするには、まず、「リファレンス」と「use宣言」と「bless」の3つが理解できていないとなりません。 なぜかと言うと、Perlでのオブジェクトはblessされたリファレンスなのです。また、Perlでのクラスはモジュールなのです。そのモジュールでの一番の謎は、use宣言なのです。 なので、はじめにこの3つを理解してから、そのあと「オブジェクト」と「オブジェクト指向」について解説していきます。 つまり、以下の順番です。 リファレンスについて use宣言についてblessについてPerlでのオブジェクトについてPerlでのオブジェクト指向について ■リファレンスについて
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [intemplate "__entry.ftlh" atline 3, column 25] - Reached through: #include "__entry.ftlh" [intemplate "entry.ftlh" at
Matt S. Trout氏が書くエッセイを読むのが私の最近の楽しみの一つなのですが、以前にも書いたことがあるように日本語に訳すのが躊躇われるような言葉が出て来ます。その言葉が実際にどれ程酷い響きを持つのか、英国人でない私には本当の所は分かりませんが、おそらく禁止語に近いと思います。 氏のエッセイの内でも、比較的禁止語が殆ど無く、面白いものに″But I can't use CPAN!″があります。いまだに、CPANを使えないとお嘆きの人にピッタリだと思います。 以下にその私訳を載せておきますが、禁止語はオブラートに包んでますので、そのつもりでお願いします。 だが、私はCPANを使えない! 2009年5月26日 Matt S. Trout 勿論、貴方はCPANを使える。ここにその理由を述べる。 だが、私はCPANを使えない! 短い回答:くだらん 比較的長い回答:ルートとして’cpan’を使
2009年10月19日22:50PerlRuby memcachedを介して、PerlとRubyでデータをほげほげしてみる ふと思って、Ruby でデータを memcached に入れて、それをPerl から取り出せるのかな〜というのが気になったので試してみました。データの形式として、文字列、ActiveRecord、ハッシュをそれぞれ試してみます。予想では、ActiveRecord のデータはさすがにPerl では読み込めないだろうけど、それ以外は読み込めるんじゃないかなぁと。 まずはRuby を使って memcached にデータを set します。 #!/usr/bin/ruby require 'rubygems' require 'activerecord' require 'memcache' class Hoge < ActiveRecord::Base estab
ベンチマークを取る際に、それぞれの手法ごとに初期化や終了処理が必要なんだけど、それら処理を除いた、コアの部分の数値を比較したいことって結構ある。そういう場合は、以下のように書けばいい。ということを理解したのでメモ。 #! /usr/bin/perl use strict; use warnings; use Benchmark (); my %bench; Benchmark::enablecache(); for (my $i = 0; $i < 100; $i++) { # ここでいろいろ初期化 push_bench('a', sub { for (1..100000) {} }); # ここでいろいろ終了処理 } for (my $i = 0; $i < 100; $i++) { # ここでいろいろ初期化 push_bench('b', sub { for (1..200000) {
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [intemplate "__entry.ftlh" atline 3, column 25] - Reached through: #include "__entry.ftlh" [intemplate "entry.ftlh" at
2009年09月13日13:00 カテゴリLightweight Languages #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 駄目です。 [を]Perl の utf8 まわりのおまじない 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); こういう場合は、Encode::decode_utf8()でないと。 以下をごらんください。 #!/usr/bin/perl use strict; use warnings; use Encode; use Devel::Peek; for my $bytes ( "\x2F", "\xC0\xAF", "\xE0\x80\xAF", "\xF0\x80\x80\xAF" ) { my $u

Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [intemplate "__entry.ftlh" atline 3, column 25] - Reached through: #include "__entry.ftlh" [intemplate "entry.ftlh" at
2009年8月10日(月) ■ setuid なスクリプト _perl やらruby やら sh やらのスクリプトは、chmod u+s しても効果がない。バイナリな実行ファイルでないと、OS は setuid/gid フラグを無視してしまって意図した権限で実行してくれない。それを許すと 穴になるからしかたないというのは承知してるけどさ、どーしてもやりたいこともあるわけで、そのたびごとに C のラッパーを書くのはめんどくさい。仕事だからやるけどさ。 _ ので書いた。仕事おわり。以下余談。 _ setuid されたスクリプトを動かしたいけど動かないので、perl では suidperl という専用ラッパーを提供してこれを回避する。OS は setuid/gid フラグを無視してフラグがないときと同じように実行するけど、suidperl はスクリプトのパーミッションを調べて +s なビット
2009年03月29日23:45 カテゴリLightweight Languagesperl - for(;;)よりforeachPerlベストプラクティス Damian Conway / クイープ訳 [原著:Perl Best Practices] 最近のid:naoyaのソースがすごく気になったので。 何が気になるかというと、for(;;)の利用。それもCやJavaScriptなど、事実上それしかないソースからそのまま転写したとかならとにかく、編集距離 (Levenshtein Distance) - naoyaのはてなダイアリーではPython版がちゃんとxrangeを使っているのにPerl版がfor(;;)のでますます解せない。 "Perl Best Practices"でも、読みやすさの観点からCスタイルのforは避けよ(pp. 100-101)と言っているが、もう一つ損な

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く