タグ

perlに関するohnishiakiraのブックマーク (63)

  • Chrome Extensions 「CPAN Helper」やってます。 - ワタブログ

    2011年08月20日23:07 Chrome Extensions 「CPAN Helper」やってます。 カテゴリ Tweet すべての Perl Mongers に送る(!?)Chrome Extension のお知らせ。 CPAN Helper - Chrome ウェブストアhttps://github.com/wata/CPANHelper インストールすると、アドレスバーの右側に CPAN ロゴのアイコンが現れます。 アドレスバーに「cpan 」と打ち込むと、コマンド待機状態になるので、続けてキーワードを入力して検索 (ちょっと反応遅いですが、ちゃんとサジェストも出ます) テキストを選択した状態で右クリックメニューからの検索  モジュールの更新情報をポップアップで通知 (ポップアップをクリックで metacpan.org 内の当該ページへジャンプ) 設定画面 今まで知らないモジ

  • each()は遅い上に微妙な問題も起きやすい - Islands in the byte stream (legacy)

    特別な条件がないかぎり、each()は使うべきではありません。代わりにkeys()/values()を使うべきです。その理由は2つあります。 each()は遅い each()でハッシュ全体をループするのは遅いです。これは、keys()/values()がその内部の値をそのまま参照する*1のに対し、each()は代入しないとその値を使えないからです。 ベンチマーク: #!perl use strict; use warnings; use Benchmark qw(cmpthese); my %hash = map { $_ => $_ } ( 1 .. 10000 ); cmpthese -1, { each_k => sub { while(my $key = each %hash) { } }, each_kv => sub { while(my($key, $value) = eac

    each()は遅い上に微妙な問題も起きやすい - Islands in the byte stream (legacy)
  • bayashi.jp

    This domain may be for sale!

  • 正規表現のデバッグ方法 - こんにちはこんにちはmonmonです!

    re=debugってやると詳細出してくれるの知らなかったのでコピペ。 Perlコーディング初心者質問スレ Part 62 502+1 :nobodyさん [] :2011/05/02(月) 02:42:13.10 ID: fV7VGj7j (1/2) 「文字列A        文字列B」 という 2 つの文字列の間に複数の空白がある行において /\s*/ でマッチさせると、変数 $` (=$PREMATCH) には何も入りませんでした なぜでしょうか? 入門書は「パターンマッチが複数解釈出来る場合には一番長い解釈にマッチする」とあります。 よって自分は \s* という「0 回以上のホワイトスペースの繰り返し」は 最も長い解釈では複数の空白にマッチし $` には文字列A が代入されるはずだと考えたのですが 503+1 :1/2 [↓] :2011/05/02(月) 03:50:24.42 I

    正規表現のデバッグ方法 - こんにちはこんにちはmonmonです!
  • Perlの中をgdbで覗く | BLOG - DeNA Engineering

    こんにちは。DeNAの樋口です。 Perlで書かれたアプリを動かしているときに、Perlのプロセスが今コードの何処を実行中なのか知りたいことがよくあります。そのような場合には、gdbで実行中のプロセスにアタッチし、Perlインタプリタインスタンスの内部を覗くことによって調べることができます。また同様の方法で、プロセスのコアダンプを取り、後でじっくりデバッガで調べることも可能です。 デバッグシンボル付きのPerlを用意する まず前提として、Perlの実行形式にデバッグシンボルが付いている必要があります。無い場合でも不可能ではありませんが、現実的には難しいでしょう。デバッグシンボル付きのPerlを用意する方法はOSによりますが、例えばrpmを使っているGNU/Linuxディストリビューションであればperl-debuginfoのように分離されたパッケージにデバッグシンボルが入っていることが多い

    Perlの中をgdbで覗く | BLOG - DeNA Engineering
  • いますぐ実践! Linuxシステム管理

    「いますぐ実践! Linux システム管理」はこちらです。 メルマガの解除、バックナンバーなども、以下からどうぞ。 https://www.usupi.org/sysad/ (まぐまぐ ID:149633) その他、作者に関するページは、概ね以下にございます。 https://www.usupi.org/kuri/ (まぐまぐ ID:126454) http://usupi.seesaa.net/ (栗日記ブログ) https://twitter.com/kuriking/ (twitter) https://facebook.com/kuriking3 (facebook) https://jp.pinterest.com/kuriking/pinterest) https://www.instagram.com/kuri_king_/ (instagram) [バックナンバーのトップへ

  • 第6回 UNIXプログラミングの勘所(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはJapanizeやText::MicroTemplateなどで有名な奥一穂さんで、テーマはUNIXプログラミングです。 はじめに 「正しいプログラム」を書くために必要な知識とはなんでしょうか。テストが正しく実行されることは、正しいプログラムであるための必要条件に過ぎません。プログラミングにおいてはプログラミング言語だけでなく、OSの動作やデータベース、ネットワークプロトコルなど、さまざまな知識が必要になります。 PerlはもともとUNIX系のOS(LinuxやFreeBSD、Mac OS XなどのOSを稿では以下UNIXと総称します)の上で処理を行うためのスクリプト言語として開発され、今日でもPerlプログラムの多くはUNIX上で実行されています。しかし、「⁠Perlでプログラミング」と言った場合はともすれば

    第6回 UNIXプログラミングの勘所(1) | gihyo.jp
  • Perl 5 to 6 - 例外と制御例外

    これはMoritz Lenz氏のWebサイトPerlgeek.deで公開されているブログ記事"Perl 5 to 6" Lesson 26 - Exceptions and control exceptionsの日語訳です。 原文はCreative Commons Attribution 3.0 Germanyに基づいて公開されています。 エントリにはCreative Commons Attribution 3.0 Unportedを適用します。 Original text: Copyright© 2008-2010 Moritz Lenz Japanese translation: Copyright© 2011 SATOH Koichi NAME "Perl 5 to 6" Lesson 26 - 例外と制御例外 SYNOPSIS try { die "OH NOEZ"; CATC

  • perl - 「優れたPerlプログラマを見分ける27の質問」回答例 : 404 Blog Not Found

    2011年03月01日18:00 カテゴリLightweight Languages perl - 「優れたPerlプログラマを見分ける27の質問」回答例 これは良問。 How to Identify a Good Perl Programmer - Modern Perl Books, a Modern Perl Blog 「優れたPerlプログラマを見分ける27の質問」の日語訳 - Islands in the byte stream というわけで回答例。あくまでも解答例。There's more than one way to do it はここでも例外ではないので。 Perl5において変数のシジルが示すものは何か 変数の基型。$scalar、@array、%hash、&code、*typeglob。&codeの&は省略可能かつ省略推奨。これ以外の型はオブジェクトを作ることで作れ

    perl - 「優れたPerlプログラマを見分ける27の質問」回答例 : 404 Blog Not Found
  • perlで高速な類似検索エンジンを構築できるようにしてみた - download_takeshi’s diary

    すみません。タイトルはやや釣り気味です。 類似検索エンジンというか、そのアイデア程度の話なんですが、以前から考えていた類似検索エンジン風のネタがあったので、ちょっとperlで書いてみたので、そいつを晒してみます。 Luigi   https://github.com/miki/Luigi 類似検索なのでLuigi。ルイージとか読みたい人はそう読んじゃっても良いです。(冷) 考え方と仕組み 類似文書の検索、となりますと一般的には超高次元での空間インデックスとかが必要になります。 昔からR-TreeやSR-Treeなど、いろいろと提案されていますが、より高次元になると「次元の呪い」によりパフォーマンスが出なくなる、なんて言われていますね。 そこで最近ではLSHに代表されるような、より高度な「近似」型のインデキシング手法が人気を集めているようです。 で、今回考えたLuigiも実は近似型のインデッ

    perlで高速な類似検索エンジンを構築できるようにしてみた - download_takeshi’s diary
  • 外部APIを含めたWebアプリのテストをしてみる - Perl勉強メモ アルパカDiary出張版

    外部APIを用いたWebアプリのコントローラテストについて。 たとえば 数値の2乗を結果として返すAPIサーバ があるとして、 そのAPIを利用した結果をHTMLとして出力するアプリケーション を考えてみます。 しかし、このように外部APIサーバを用いるとテストが難しくなります。 もしかしたらアクセスコントロールされているかもしれませんし、 メンテナンスされているかもしれませんし、 オフラインだとそもそもテストできないですよね! そこで外部APIサーバを振舞うplackサーバをローカルで立ち上げて それをproveで利用できるといいかも。 というわけでそのような環境を作ってみます。 サンプルWebアプリ *1 まずは /api に アクセスすると 外部APIサーバにアクセスしてその結果を返すだけのコントローラを書いてみます。 $host はテストからコントロールできるように環境変数をみてい

    外部APIを含めたWebアプリのテストをしてみる - Perl勉強メモ アルパカDiary出張版
  • Kamakura Perl Mongers テクニカルトーク #1 - 車輪を再発明 / koba04の日記

    カヤックに行ってみたい&面白そうな話が聞けそうということで、鎌倉まで行ってきました。 http://kamakura.pm.org/2011/01/18/techtalk1.html 結果としては、寒かったですが鎌倉まで行ってホントよかったです! というわけで簡単に感想を。 「Blog Hacks 2011」 - yusukebeさん 前日に当日の資料を公開されていたのでどんなことを話すのかはわかっていたのですが、やっぱり実際に聞くとお話するのが上手くて面白かったです。 2011年時点でのブログに対するテクニックについて紹介されており、CSS Frameworkやスマートフォン対応など知らなかったお話がいっぱいありとても面白かったです。 自分にとってデザインは苦手な部分ですが、今回のお話はその敷居をさげてくれるものであり、なんか作ってみようと思わせてくれました。 そして、いつもとスライドの

    Kamakura Perl Mongers テクニカルトーク #1 - 車輪を再発明 / koba04の日記
  • Perl から Growl をちゃんと使おう - Articles Advent Calendar 2010 Hacker

    こんにちわ。Growl 大好きっ子 typester です。 重たいバッチジョブを走らせている間、別の作業をする。ジョブが終わったらデスクトップに Growl を表示させて処理の完了を知る。 その合間にもRSSから配信されたニュースや自分への Mention を Growl 表示し、あっという間に情報を操作する。 誰もが憧れる Hackish な作業風景ですね。Mac ユーザであればその他の活用方法を知ってる人も数多くいるでしょう。 でもperlbrewで64bit perlいれてるからMac::Growlがうまくインストールできないし... そんな風に思っていた頃が僕にもありました。 Cocoa::Growl http://search.cpan.org/dist/Cocoa-Growl/ そんな不満を打破するべく僕は Cocoa::Growl を書いた。 XS で Objective-

    Perl から Growl をちゃんと使おう - Articles Advent Calendar 2010 Hacker
  • Google Docsの表計算書類をNet::Google::Spreadsheetsを使ってブラウザ抜きで読み書きする - Articles Advent Calendar 2010 Casual

    こんばんは。tumblr がサーバーダウンするとネット呼吸が出来ないotsune (Facebook - otsune) です。 jp.blogs.com|おもしろブログ記事のまとめサイトというサイトで、ネットウォッチ中に見かけた興味深いWebページのURLを美人編集長上野さんにたれ込むという趣味的行為をしているんですが。困ったことにURL集計にGoogle Docsの表計算の複数人編集機能を使ってて、1-clickどころかブラウザひらいてマウスでカチコチと気の長くなるほどメンドクサイ手順を踏まないとURLを貼れないという、CUIGUIのあいだに横たわる深くて長い天の川があったりしてシンドイわけです。世間でもよくある話ですね。 そんなわけでめんどくさいことはPerlのようなものにやらせればいいのよってことで、今日は飲み会のヒーローlopnorさんが書いたNet::Google::Spre

    Google Docsの表計算書類をNet::Google::Spreadsheetsを使ってブラウザ抜きで読み書きする - Articles Advent Calendar 2010 Casual
  • Vim と Perl で音楽プレーヤを作ろう - Articles Advent Calendar 2010 Casual

    こんにちわ。Perl はあまり得意ではありませんが Vim はある程度使いこなせる、Zimbu兄さんこと mattn です。口癖は「カッコつけんなよ」です。 さて、最近の Vim 界は Unite というプラグインが流行り出しています。 Unite がどんな物かについての説明文は、手前味噌ですが私のサイトをご覧頂けるとなんとなく分かるかと思います。「unite.vim」でググると幾らかヒットするかと思います。来は何かしらを選択させるUIライブラリの一種となります。 さて、今日はこの unite.vimPerl を使って音楽プレーヤを作ります。 音楽プレーヤと言っても音楽ファイルのフォーマットやらなんやらを Perl でやるという訳ではありません。 メディアプレーヤの「rhythmbox」を使います。他のメディアプレーヤでも良かったのですが DBusというインタフェースにより外部から

    Vim と Perl で音楽プレーヤを作ろう - Articles Advent Calendar 2010 Casual
  • 記号だけのPerlプログラミングの基本原理 - Articles Advent Calendar 2010 Sym

    こんにちは。[/articles/advent-calendar/2010/casual/3:title=casual track 3日目]でも書かせていただきました、sugyanです。記号プログラミングはPerlくらいしかわからない素人ですが頑張って書いてみようと思います。よろしくおねがいします。 今日はPerlで記号プログラミングをするための基礎知識を説明します。Acme::EyeDropsでも使われているテクニックです。 ■Step1. アルファベットの変換 記号だけでPerlプログラムを書きたい! というとき、最も邪魔なのがアルファベットですね。まずはこれらをどうにかして記号だけで表現しましょう。 Perlの文字列は2つの文字列の論理演算で表現することができます。例えば 'A' という文字はASCIIコード0x41ですね。これをASCIIコード0x60の '`' と0x21の '!

    記号だけのPerlプログラミングの基本原理 - Articles Advent Calendar 2010 Sym
  • Perlの正規表現をマスターしよう - Perl入門ゼミ

    Perl › 正規表現 Perlの正規表現の解説です。この記事を読めば、日常で利用する正規表現のすべてを短時間でマスターすることができます。正規表現を使えば、文字列の集合を表現することができ、正規表現にマッチする文字列を検索したり、置換したりすることができます。 正規表現を使って文字列の集合を表現できます。たとえば「a」「aa」「aaa」という三つの文字列を正規表現で表現してみましょう。連続する文字の個数を表現する正規表現「{}」を使って次のように書くことができます。 a{1,3} 「a」「aa」「aaa」という文字列の集合をひとつの正規表現「a{1,3}」で表しています。{}は量指定子と呼ばれるもので、連続した文字を表現することができます。 a aa -> a{1,3} aaa 正規表現の例をもう一つみてみましょう。「p1」「q1」「r1」という文字列の集合をひとつの正規表現「[pqr]

    Perlの正規表現をマスターしよう - Perl入門ゼミ
  • perl - 実践で役立たないPerl正規表現 完全解説 : 404 Blog Not Found

    2010年10月04日04:45 カテゴリLightweight Languages perl - 実践で役立たないPerl正規表現 完全解説 役立つ方をお探しの方は、以下まで。 実践で役立つPerl正規表現 完全解説 - サンプルコードによるPerl入門 s/$regexp/$substitution/ 実のところ、正規表現ではなくs///演算子のお話です。Perlではあまりに正規表現と密接に関係しているので、これ全体を「正規表現」と呼んでしまいがちなのですが、実際のところ $string =~ s/$regexp/$substitution/; とある場合、$regexpのみが正規表現なのでお間違えがないよう。 s/$regexp/$substitution/sex で、全世界の Perl Mongers の皆さんがご存知のように、s/$regexp/$substitution/の最後

    perl - 実践で役立たないPerl正規表現 完全解説 : 404 Blog Not Found
  • Shibuya.pm Tech Talks #14でPerlの歴史について話しました - mad-pの日記

    LL Tigerのスタッフ打上げの帰途、駅まで歩いているとき、id:takesakoさんから「今度Shibuya.pmがあるんですが、Perl歴史について話しませんか」と声をかけていただきました。昨年のYokohama.pmの懇親会でも、初めて使ったPerlが5.8だっていう人が結構いて、「Perl4.000の定義」とかを話すと意外とウケたので、いつかこのネタはやろうと思っていたのです。 そんなわけで10分の時間をいただいてしゃべってきました。 Shibuya Perl Mongersテクニカルトーク#14 発表スライドはこちら http://www.slideshare.net/KaoruMaeda/perl-perl-1234 Shibuya.pm #14の録画はこちら(02:03:00くらいから) http://live.streamingmedia.jp/shibuyapm/ 年

    Shibuya.pm Tech Talks #14でPerlの歴史について話しました - mad-pの日記
  • Re: Perlスクリプトの一行目には何と書くべきなのか - Islands in the byte stream (legacy)

    Re: Perlスクリプトの一行目には何と書くべきなのか もしCPAN形式でスクリプトを配布するなら、それは#!/usr/bin/perlないし#!perlとするべきで、env(1)を使うべきではないと思います。 CPAN形式のディストリビューションでは、インストールするスクリプトのshebang行をインストール直前に修正し、正しいパスに書き換えてくれます。ただし、このルーチン*1はいまのところenv(1)を認識してくれません。つまり、env(1)を使った場合、インストールに使用したperlと実際に実行されるperlが一致するとは限りません。perlを一つしかインストールしていないシステムなら、これでも問題なく動きます。しかし最近では、システムにインストールしてあるperlには触らず、アプリケーション用のperlを別途perlbrewなどでインストールしてそちらを使うということもよく行われ

    Re: Perlスクリプトの一行目には何と書くべきなのか - Islands in the byte stream (legacy)