タグ

Perlに関するmakoto15のブックマーク (293)

  • 404 Blog Not Found:perl - Regexp::Assembleのススメ

    2007年04月19日15:00 カテゴリLightweight Languages perl - Regexp::Assembleのススメ というわけで、Regexp::Assembleのご紹介。 PERL HACKS(日語版) [英語版] odz buffer - それ Regexp::Assembleん?ループ云々を抜きにして、こういうのは Regexp::Assemble の出番じゃないの? すでにPerl Hackers御用達のモジュールとなっていますが、まだ知らない方もいらっしゃるかも知れないので。 何をするモジュールか、といえば、以下を見れば一目瞭然でしょう。 Regexp::Assemble - Assemble multiple Regular Expressions into a single RE - search.cpan.org use Regexp::Asse

    404 Blog Not Found:perl - Regexp::Assembleのススメ
  • 404 Blog Not Found:YAPC::Asia::2007 - 弾のスライド

    2007年04月05日10:45 カテゴリYAPC::Asia YAPC::Asia::2007 - 弾のスライド 日は昨日よりもWiFiの具合がいいみたい。 私担当の講演のスライドですが、以下のとおり公開しました。 YAPC::Asia::2007 - Perl I18N in 20 minutes YAPC::Asia::2007 - An Ordinary Perl 6 Guide Synopsis: スライドは←→の矢印キーで切り替えです。Firefox推奨。 "Translate"にチェックを入れると、Ajaxで自動翻訳します。 Palさん、Perl 6 for Ordinary People の方で絵をお借りしました。この場を借りて事後承諾&感謝。 Dan the Speaker Thereof @ Tsuda Hall 「YAPC::Asia」カテゴリの最新記事

    404 Blog Not Found:YAPC::Asia::2007 - 弾のスライド
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2007/03/ljs0_07.php

  • 勝手に添削 - 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
  • dfa-0.01 正規表現から DFA へ(NFA 経由版) - Tociyuki::Diary

    機能限定版の正規表現をトップダウン構文解析して非決定性有限オートマトン(NFA)を生成し、それから部分集合構成法で決定性有限オートマトン(DFA)を生成するコードを Perl で書いてみました。 扱う正規表現は、総称文字(.)や文字クラス([][…][])が使えず、1文字そのものしか扱えず、繰り返し指定は ? と * しか使えません。括弧 (…)は Perl の (?:…) に相当し、パターンの記憶はできません。複数選択の | は使えます。 ネタ元のドラゴンブックの字句解析部の説明で使われているプログラミング言語の断片の字句を Perl 風にちょっと変更した正規表現を DFA にして字句それぞれにマッチさせるサンプルを書くと次のようになります。 (追記) このパッケージの DFA と NFA の match メソッドは m/\A…\z/ の動作をします。 #!/bin/env perl u

    dfa-0.01 正規表現から DFA へ(NFA 経由版) - Tociyuki::Diary
  • 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
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • may_decode('latin1', "...") - Tociyuki::Diary

    これ(↓)ですけど、utf8 フラグの立った文字列に、utf8 が立っていないけど \x80-\xff を含む文字列を連結しようとすると警告が出るのだと思い込んでいました。でも、やってみたら、警告でませんね。う〜む。そういうふるまいだったのか。 ⇒ subtech - Bulknews::Subtech - Fix dodgy utf-8 bytes すでに utf-8 なバイト列を latin-1 と解釈して utf-8 に二重エンコードすることで起きる文字化け(を表現する短い言葉ってないのかな)を直すコード。 で、私はあまのじゃくなので、逆を考えてみました。つまり連結するときに、どういう decode 処理をすれば、latin-1 と utf-8 を共存させることができるのだろうかと。 まずは下調べ。decode、decode_utf8 にどういう文字列を渡すと utf8 フラグが立ち

    may_decode('latin1', "...") - Tociyuki::Diary
  • regexp - yet another fix for dodgy UTF-8 : 404 Blog Not Found

    2007年02月14日21:30 カテゴリLightweight Languages regexp - yet another fix for dodgy UTF-8 他の言語にも移植しやすいようにrefactorしてみました。 subtech - Bulknews::Subtech - Fix dodgy utf-8 bytes すでに utf-8 なバイト列を latin-1 と解釈して utf-8 に二重エンコードすることで起きる文字化け(を表現する短い言葉ってないのかな)を直すコード。sub fix_utf8 { my $bytes = shift; utf8::encode($bytes) if utf8::is_utf8($bytes); $bytes =~ s{ ([\xC2\xC3])([\x80-\xBF]) }{ chr( (ord($1) << 6 & 0xff) |

    regexp - yet another fix for dodgy UTF-8 : 404 Blog Not Found
  • 404 Blog Not Found:perl - LWPあれこれ

    2007年02月14日19:00 カテゴリLightweight Languages perl - LWPあれこれ すでに多くの指摘があるとおり、GETはLWPの付属コマンドです。 ウノウラボ Unoh Labs: ウェブアプリ開発を助けるGETコマンドを使ってハックしてみよう!! jokagiは何年か前に偶然見つけたGETというコマンド(HEADもよく使う)を使用していますので,このコマンドの紹介と超簡単なハックをひとつ紹介したいと思います.動作環境にインストールされているCPANパッケージの具合によってはhttpsが使えない(ぽい) GETに限らずLWPでSSLを使うには、Crypt::SSLeayインストールすればOKです。 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1

    404 Blog Not Found:perl - LWPあれこれ
  • subtech - Bulknews::Subtech - Fix dodgy utf-8 bytes

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

    subtech - Bulknews::Subtech - Fix dodgy utf-8 bytes
  • 404 Blog Not Found:perl - 半角スペースを自動で入れる

    2007年01月15日05:00 カテゴリLightweight Languages perl - 半角スペースを自動で入れる 是非はさておき、入れるのであれば自動で入れたい。というわけでこちら。 portal shit! : 半角スペース入れてますか? 半角スペース入れるべき、入れないべき?spacer.pl #!/usr/local/bin/perl use strict; use warnings; use Encode; my $east = qr/(?!\p{M})(?:\p{Han}|\p{Katakana}|\p{Hiragana})/; my $west = qr/(?!\p{M})(?:\p{Latin}|\p{Greek}|\p{Cyrillic})/; binmode STDOUT, ':utf8'; while(<>){ $_ = decode 'utf8', $_

    404 Blog Not Found:perl - 半角スペースを自動で入れる
  • JIS X 0213:2004(JIS2004) で本当に文字化けする文字

    とします。Perl で文字コードを操作する方法は、Encode.pm と旧Jcode.pm (0.8系)がメジャーどころなので、その2つについて調査しました。Encode.pm に関しては、Encode::JP と Encode::JIS2K を対象としました。 まず結論から。Encode::JIS2K を使う限り、文字化けする SJIS コードは以下の35文字です。 JIS2004 で追加された10文字:879F 889E 9873 989E EAA5 EFF8 EFF9 EFFA EFFB EFFC カ行に半濁音(゜)を付けた文字など一部の文字: 82f5 82f6 82f7 82f8 82f9 8397 8398 8399 839a 839b 839c 839d 839e 83f6 8663 8667 8668 8669 866a 866b 866c 866d 866e 8685 8

  • IP アドレスから国コードを検索

    ご無沙汰しています。 自宅サーバの HDD が異音と共にぶっ壊れてしまい、10 分で作る Sledge アプリの動画とかのサルベージが出来ず、すっかり意気消沈の今日この頃、皆様いかがお過ごしですか。 なんか先日、「誰が攻撃しているか突き止めたい」というネタがホッテントリになってて、それに合わせてIPひろばというサイトもホッテントリになってました。 空前の逆探知ブームなのでしょうか。 変なカップヌードルのべかたをする半袖さんが、それを追うように、DNSBLスタイルのクエリーを利用してIPアドレスから国コードを検索というネタを書いていますが、IP アドレスを元に国コードを調べるコマンドラインには、こんな方法もあります。 Geography::Countries と、IP::Country という CPAN モジュールを入れると、ip2cc というコマンドラインツールもインストールされます。

    IP アドレスから国コードを検索
  • 技術メモ帳: [unix]複数のファイルの名前をまとめて変更する

    複数のファイルの名前を変更する際に、 便利なコマンドというものがある。 いくつかご紹介させていただこう。 カレントディレクトリにあるファイルの名前を、 たとえば、*.html を *.htm と名前を変更するという課題に対し どのぐらいエレガントに書けるかというのを比較してみる。 まず、普通にやったらどうだろう。 おそらく、for文 をつかうことだろう。 for file in *.html do base=`basename $file .html` mv $base.html $base.htm; done; zshだともうちょっとスマートにかけて、 for file in *.html do mv $file:r.html $file:r.html; done; こんな具合。 for文 が嫌いなネット右翼のために、 xargs を使ってこの問題を解いてみよう。 ls -1 *.htm

  • 404 Blog Not Found:perl & Unicode - その字の名前

    2006年11月20日23:00 カテゴリLogos一日一行野郎 perl & Unicode - その字の名前 Unicodeの隠れた功績として、こうした「何て呼べばいいの?」という文字に(はんば無理矢理)名前をつけてくれたこともあります。 例えば、 新方言時代〜「小さい“お”」って何? 「々」はなんていえばいいのだろうか? には 々 U+3005 IDEOGRAPHIC ITERATION MARK といった具合に。 この手の調査は、Perl5.8以降が手元にあると簡単に出来ます。 例えば、 perl -Mencoding=utf8 -MHTML::Entities -Mcharnames=:full -ple \ '$o=ord; $_=sprintf"$_ U+%04X %s", $o, charnames::viacode($o)' で、こんな具合にコードポイントとUnicode

    404 Blog Not Found:perl & Unicode - その字の名前
  • Perl vs Windows改行コード - 2006-11-15 - D-5 出張版

  • 404 Blog Not Found:perl - In-Memory File

    2006年11月08日04:30 カテゴリLightweight Languages perl - In-Memory File Perl 5.8以降では、このような場合にin-memory fileが使えます。 【続】やはり Perl はメモリ喰いな言語。データ型の内部構造 :: Drk7jp DB上の全レコードをいったん perl 側の配列に格納して、その結果を返す。ってコードなのですが、当然ながらレコード数が多くなればメモリをうのは当たり前なのですが、以前の記事の内容を完全に忘却してました。ここには落とし穴があるのです。使い方は、簡単です。 my @array = (0x21..0x7e); my $memfile; open my $wfh, '>', \$memfile or die $!; print $wfh chr($_), "\n" for (@array); clos

    404 Blog Not Found:perl - In-Memory File
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Six Apart - Tech Talk Blog:f ウェブアプリケーションのテストの仕組みを読み解こう

    はじめまして。Vox 開発エンジニアの谷です。 突然ですが、Vox の開発はいつから始まったのでしょうか。当ブログの以前のエントリーにもありますが、Vox はプレビュー版として3月にサービスが開始されていることからもわかるように、開発は去年から行われていました。となると、もうそれなりに期間の長いプロジェクトですし、アプリケーションの規模でも今では弊社の他の製品に引けを取らないほどになっています。 私が Vox の開発に加わったのは今年の8月なのですが、既に大きく成長していたアプリケーションを前に、最初は「Vox を壊してしまわないだろうか…」という不安を抱えていました。しかし大量のテストコードのおかげで既存のアプリケーションを壊さずに、簡単、確実に機能を追加していくことができたのです。(実際にはテストのおかげで壊れているのが発覚したりしたのですが…) 前置きはこれぐらいにして、Vox は

    makoto15
    makoto15 2006/10/20
    ウェブアプリケーションのテスト