タグ

2010年1月27日のブックマーク (12件)

  • perl の YAML.pm と Unicode - metalglue

    YAML::DumpFile で utf8 フラグが立った文字列をダンプすると 'Wide character ...' と警告が出る(どうやって防ぐ?) use utf8; use YAML; $a = '漢字'; YAML::DumpFile('a.yaml', $a); 上のコードで a.yamlutf-8 で出力される.次に読み込んでみる. use utf8; use YAML; $a = YAML::LoadFile('a.yaml'); print $a; 一見うまくいっているように見える.しかし次のようにすると失敗する. use utf8; use YAML; binmode STDOUT, ':utf8'; $a = YAML::LoadFile('a.yaml'); print $a; これは,$a がバイト列(中身はたしかに「漢字」の utf-8 表現)として扱わ

    perl の YAML.pm と Unicode - metalglue
  • ばためも » Blog Archive » ActivePerlでDBD::Pgをインストール

    7 月 28, 2008 7:07 pm batarnyo Perl, SQL コマンドプロンプトを起動。んでppmだとGUIモードで起動するからppm-shellしてCUIモードで起動。 http://pgfoundry.org/projects/dbdpgppm/ の最新のPPDファイルに対しppm installする ActivePerl 5.8.8.822の場合 ppm> install http://pgfoundry.org/frs/download.php/1856/DBD-Pg-2.8.7-5.8.ppd 追記(2008/7/29) エラーが出る。。。 install_driver(Pg) failed: Can’t load ‘C:/usr/site/lib/auto/DBD/Pg/Pg.dll’ for module DBD::Pg: load_file:\x8

    bigbro
    bigbro 2010/01/27
    同じエラーで苦しんだ。おそらくdll側のバグなので、代わりにPPを使うことにした
  • 第15回 DateTime:APIの標準化をめざして | gihyo.jp

    Cから継承したAPI プログラマにとって、ログの解析や作成などに含まれる日付や時刻の操作は切っても切り離せない分野のひとつです。もちろんPerlにも日付や時刻を操作するための関数は組み込まれています。 ただし、Cから継承してきたlocaltime()やgmtime()の返り値は、お世辞にもわかりやすいとはいえません。リストコンテキストで呼び出せば年月日、時分秒などの値を取り出せるとはいえ、単一の配列で受け取ると、個々の要素を使うときに直感的ではなくなりますし、明示的な名前をつけたスカラー変数を並べて受け取るのはいかにも冗長です。 use strict; use warnings; # 短いけれど非直感的 my @tm = localtime(); $tm[5] += 1900; $tm[4]++; printf "%04d-%02d-%02d %02d:%02d:%02d\n", reve

    第15回 DateTime:APIの標準化をめざして | gihyo.jp
  • Perl and CSV

    CSV 形式の文字列を配列に分割する むかし日経MIXの awk 会議室で、CSV 形式の文字列を配列に分割するスクリプトが議論されていた。 それを perl で書くと、次のようなものだった。 sub splitcsv { local($csvstr) = @_; $csvstr .= ','; $csvstr =~ s/("([^"]|"")*"|[^,]*),/$1$;/g; $csvstr =~ s/"([^$;]*)"$;/$1$;/g; $csvstr =~ s/""/"/g; return split(/$;/, $csvstr); } ちょっと複雑でわかりにくいが、 $; という perl の特殊変数を使っていることに注目するとよい。 これは、「多次元配列のエミュレーションに用いる添え字セパレータ」[ウォールほか 1997 (1996): 150] である。 フィールドの区切

  • csvファイルを読み込んで配列の配列に変換に変換する - Perl入門ゼミ

    Perl › ファイル入出力 › here 実際にcsvファイルを読み込んで、Perlのデータ型(配列の配列)に変換して、標準出力に書き出すサンプルです。csvから配列の配列への変換はサブルーチンを使って行っています。何らかのファイルを読み込んで編集するといった場合の基的な雛形にもなると思います。 use strict; use warnings; # 引数の処理 my $file = shift; unless ($file) { # 引数がないときは、使用方法を示して終了。 die "Usage: $0 file"; } # ファイルを解析してcsv形式のデータを配列の配列に変換。 my @recs = parse_file($file); # 出力( 2次元配列なので、forでたどる ) for my $items (@recs) { # カンマで連結して出力。 print joi

    csvファイルを読み込んで配列の配列に変換に変換する - Perl入門ゼミ
  • Perlメモ

    複数のプロセスでロック状態が異常であると判断し,そのうちの 1つがロックを解除したことにより,別のプロセスがロックしたにもか かわらず,先ほどロック状態が異常であると判断したプロセスによってこの正常なロッ クを解除されてしまう可能性があります. この方法の問題点は,異常なロック状態を解除する操作が正常なロック状態をも 解除できてしまうことにあります.逆に言えば,異常なロック状態を解除する操作に よって正常なロック状態を解除できなければ問題ないわけです.そのためにはどうす ればよいのか? 答えはロック状態が常に変化していけば よいということです.そして,これを実現するのに都合がよいのが rename による方法になります. 最初のスクリプトで説明しますと,ロックファイルが lockfile という 名前のときがロックが解除されている状態で,lockfile987654321 のよう に後ろに

  • 勝手に添削 - PerlによるCSVファイルの高速集計 2 : 404 Blog Not Found

    2007年03月07日01:00 カテゴリLightweight Languages 勝手に添削 - PerlによるCSVファイルの高速集計 2 前回に引き続き、今回も引き続きcodezineさんの添削。 添削後のコード #!/usr/local/bin/perl use strict; use warnings; use Text::CSV_XS; my ($rfh, $wfh, %name_of, %addr_of); my $tc = Text::CSV_XS->new({binary=>1}); # to handle non_ascii; my $addr_file = shift or help(); my $q_file = shift or help(); my $out_file = shift; open $rfh, "<", $addr_file or die "$a

    勝手に添削 - PerlによるCSVファイルの高速集計 2 : 404 Blog Not Found
  • perl - CSVはText::CSV(_XS)?で : 404 Blog Not Found

    2007年02月16日14:30 カテゴリLightweight Languages perl - CSVText::CSV(_XS)?で このことに異論はないのだけど、 CodeZine:PerlによるCSVファイルの高速集計(CSV, 入門, Perl) 特によく利用されるテキストファイルとして、CSV形式が挙げられます。CSVを集計したい場合、Excelに読み込ませて集計関数やマクロを駆使しているという人も多いかと思いますが、Perlを利用することで、高度な集計作業を簡単かつ高速にできます。 これはちょっと問題。 my @d = split(/,/, $_); 実はCSVというのは以外と扱いにくいフォーマットで、例えば"I, Robot","Robots and Empire"とあったら、I, RobotとRobots and Empireと取り出すフィールドは二つでなければならな

    perl - CSVはText::CSV(_XS)?で : 404 Blog Not Found
  • TSV vs CSV : 404 Blog Not Found

    2006年05月27日00:20 カテゴリLightweight Languages TSV vs CSV その通りです、otsuneさん。 404 Blog Not Found:たった一つの冴えたMicrosoft製品 ItoGさんのコメント typo: tsv → csv otsuneさんのコメント >typo: tsv → csv tsvって「タブ区切りテキスト」のことだよね? 表計算をtextとしてpasteするとTSV(Tab Separated Values)に、ExcelText FileにsaveするとCSV(Comma Separated Values)になるのですが、私はTSV派です。 なんといっても、TSVの方が、圧倒的に処理が楽なのです。CSVは、実はきちんと処理するのが難しく、「CSVを処理するにはどうしたらいいの?」というのはPerlに限らず、スクリプト言語の

    TSV vs CSV : 404 Blog Not Found
    bigbro
    bigbro 2010/01/27
    単純さとは裏腹にCSVは意外と扱いにくいフォーマット
  • geekDB - geek Daisuki Benny's lovecall

  • ユーザを混乱させない表組みのコツ (ユーザビリティ実践メモ)

    ウェブサイト制作において、多くの情報をいかに整理してユーザに伝えるかは重要なポイントの1つです。よく使われる方法として表組みがありますが、今回は実際の事例をもとにしたケーススタディを通じて、ユーザを混乱させない表組みのコツをご紹介します。 表1はよく見かける表組みの例ですが、実際にユーザの立場に立ってこの表を使用してみると、いくつかの問題点があります。 同種の情報をユーザは区別できない 表1の問題点として、 日付という同種の情報を多く掲載しているため、ユーザには各情報が何の日付を意味しているのか区別できず、分かりにくい列数が多いために、セル内に折り返しが発生し、読みにくい ことが挙げられます。 特に、1つ目の問題点は、表が縦に長い場合にユーザを混乱させる要因の一つになります。なぜなら、画面サイズに収まりきらないほど表が縦に長い場合、下にスクロールしていくと「開催日」などの項目名が画面から消

    bigbro
    bigbro 2010/01/27
    ナルホド、これは凄いな
  • iPhoneアプリの企画と申請手順について - livedoor ディレクターブログ

    こんにちは、ブログ担当の坪田です。 今回は、先日公開したlivedoor Blogアプリを事例として、iPhoneアプリ公開までの流れと必要な情報について書きたいと思います。 ■iPhoneアプリを作るために用意するもの 1,Mac OSX 10.5.5以降を搭載したMaciPhoneアプリWindowsPCでは開発できません。 iPhoneを作るうえで必要なソフトウェアはAppleから無料で提供されています。 2,Appleのアカウント Apple storeから無料で取得できます。 URL:http://store.apple.com/jp 3,iPhone Developer Programへの登録とライセンスの購入 ライセンスは「スタンダード 10,800円」「エンタープライズ 33,800円」と2種類ありますが、自社向けの業務用アプリケーションを開発する場合でなければ、ス

    iPhoneアプリの企画と申請手順について - livedoor ディレクターブログ