タグ

Perlに関するm4iのブックマーク (56)

  • LTSVログをパースする最強のワンライナー集 · DQNEO日記

    最初に結論 これ最強 cat accesslog | perl -F'\t' -nale '%h=map{split/:/,$_,2}@F;print"$h{time}\t$h{ua}"' なぜPerlワンライナーなのか? LTSVログを解析するには、Perlのワンライナーに限る。 なぜならPerlはほとんどのサーバにデフォルトで入ってるから。 Perl 5.8で動くワンライナーを覚えておけばどの環境でも使える。 「何にも依存しない」 これ最強。 基中のキホン まずは基形です。 これだけは絶対覚えてしまいましょう。 perl -nale 'print' % cat access_log | perl -nale 'print ' time:[22/Feb/2014:15:13:07 +0900] host:10.10.200.102 ident:- user:- method:GET

    LTSVログをパースする最強のワンライナー集 · DQNEO日記
    m4i
    m4i 2015/10/18
  • おそらくはそれさえも平凡な日々: awkの代わりにperlを使おう

    perlのコマンドラインオプションには-aってのがあります。これはawkモードです。perl --help見るとautosplit modeとか書いてありますが。 perlは-pや-nオプションを渡す事によってファイルを一行づつ処理してくれますが、その時に-aオプションを渡すと@F配列にフィールドの情報を自動的に入れてくれます。 フィールドのセパレータはデフォルトではスペースですが、-Fオプションで指定可能です。 カンマ区切りのテキストの、最初のフィールドだけを表示したい場合は以下の様な感じ。 % cat test.txt server1,1343363124,30,/video.php server2,1343363110,20,/profile.php server3,1343363115,7,/login.php server1,1343363105,8,/profile.php %

    m4i
    m4i 2012/07/28
  • local::libを使った非rootでのCPAN環境構築 - hide-k.net#blog

    miyagawaさんが紹介されていたlocal::libを使って非rootでのCPAN環境を作ってみました。平たく言えばさくらインターネットのレンタルサーバで一般ユーザーでCPAN環境を作ってみました。 とはいえ、多くは先人たちの otsune's FreeBSD memo :: ユーザー領域にCPANをインストールする方法 さくらインターネットでCPAN - Charsbar::Note と大差ありません。 まずはlocal::libのアーカイブを取得・解凍します。最新のバージョンは1.003001です。 wget http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.003001.tar.gz tar xzvf local-lib-1.003001.tar.gz cd local-lib-1.003001 ots

    m4i
    m4i 2009/12/03
  • 一般ユーザ環境におけるCPANモジュールの使い方 - iandeth.

    先週公開した、じゃらんWebサービスを使ったサンプルサイト「シンプル宿検索」にて、perlのソースコードも一緒に公開してみたのですが、さっそく興味を持ってくれた方から問い合わせを頂きました。 cgiを実行させようとしたら以下のエラーが出てしまいました: Can't locate Template.pm in @INC (中略) at search.cgi line 5 ... Template.pm モジュールがインストールされてないよ!って怒られています。あー、コード公開する際は必要なCPANモジュールも一緒に添付しといてあげたほうが親切なのかな?いやでもそれ面倒くさいし無理あるなあ・・・。 Webでキーワード "CPAN" を検索すると出てくるCPANの使い方系ページの多くは、そのサーバの root 権限を持っている前提で、サーバの共通ライブラリ下にCPANモジュールを追加する方法を紹

    m4i
    m4i 2009/10/03
  • Perl逆引き辞典 - サンプルコードによる Perl 入門

    Perl › here Perlの逆引き辞典です。発展的な話題もこちら。 特徴を解説 バージョン情報 データベース プログラムの自動試験 ソケット プロセス間通信 ワンライナー 統計・解析 XS入門 言語実装の研究 豆知識 モジュール基礎 オブジェクト指向 日付・時刻 文字コード ビット演算子 Perl › here

    Perl逆引き辞典 - サンプルコードによる Perl 入門
    m4i
    m4i 2008/04/24
  • HTML4 用の CSS property と keyword の正規表現 - Tociyuki::Diary

    昨日の続きで、安全な style アトリビュートにマッチする関数へ渡す、W3C の CSS2.1 Specification で定められた property と keyword にマッチする正規表現を生成してみました。それぞれを Specification からかき集めて、dankogai さんの最適化正規表現作成ツール http://www.dan.co.jp/~dankogai/cgi/hatenize/ の mk_trie_regexp.pl をちょっといじったものに通して、できあがり。 ⇒ https://tociyuki.sakura.ne.jp/archive/CSS-HTML4-Visual.pm Perl ライセンスです。 なお、集め出すときりがないので、オーラル関連は省略しました。フォント・ファミリー名は serif、sans-serif などの generic-fami

    HTML4 用の CSS property と keyword の正規表現 - Tociyuki::Diary
  • mixi Engineers’ Blog » 新RSS Crawlerの裏側

    このブログでは初めましての長野雅広(kazeburo)です。mixi開発部・運用グループでアプリケーションの運用を担当しています。 12月12日よりmixiのRSSのCrawlerが改善され、外部ブログの反映が今までと比べ格段にはやくなっているのに気付かれた方も多いかと思います。この改善されたRSS Crawlerの裏側について書きたいと思います 以前のCrawlerについて 以前のCrawlerは cronからbrokerと呼ばれるプログラムを起動 brokerはmember DBから全件、idをincrementしながら取得し、外部ブログが設定されていればcrawlerを起動(fork) crawlerはRSSを取得しDBに格納して終了 このような設計になっていました。 この設計の問題として、member DBを全件走査するという無駄な動作と、一件一件crawlerを起動するためオーバ

    mixi Engineers’ Blog » 新RSS Crawlerの裏側
    m4i
    m4i 2007/12/25
    thread の代わりに mod_perl
  • HTML::StripScriptsでXSS対策をする - Kentaro Kuribayashi's blog

    先日公開した「はて☆すたアンケート」にて、アンケートの説明文をはてな記法で書けるよう、機能追加を行った。その際、Template::Plugin::Hatenaを用いた。これは、はてな記法パーサであるText::Hatena(正確には、そのヴァージョン0.16以下)を、Template::Toolkitのプラグインとして使えるようにしたものである。 はてな記法は、それ自体で全ての文書構造を表現できる、あるいは、はてなダイアリのシステム自体は、はてな記法のみしか許容しないというものではなく、たとえば画像を貼る際には、普通にimg要素を書く必要があるし、また、その他の要素についても、記法が用意されていないものについては、「はてなダイアリーのヘルプ - はてなダイアリー利用可能タグ」に掲載されているものに限り、自分でタグを書くことができる。これは自由度を高める反面で、XSSを誘発し得る潜在的なリ

    HTML::StripScriptsでXSS対策をする - Kentaro Kuribayashi's blog
  • YappoLogs: Soozy Conference #2 と naoyaさんへの返事

    Soozy Conference #2 と naoyaさんへの返事 Soozy Conference #2でid:naoyaへの返事というタイトルで発表をして来ました。 内容としては naoyaグループ - naoyaの日記 - Class::Component naoyaグループ - naoyaの日記 - Class::Component#2 という、二つのClass::Componentに関する質問への返事+αとなっております。 資料は矢印キーでページ操作出来ます。Firefoxでしか動作確認してません。 あいかわらず皆さんの発表内容は高クオリティで、とても勉強になりました。 みなさん、お疲れさまでした。 Posted by Yappo at 2007年07月31日 17:43 | TrackBack | Perl

    m4i
    m4i 2007/08/01
  • tokuhirom blog

    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} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    m4i
    m4i 2007/07/18
  • 第2回 Wassr開発の舞台裏 | gihyo.jp

    モバイルファクトリーの技術者の松野です。 今回はWassr(ワッサー)の技術的な側面についてのお話をさせていただきます。 フレームワーク Wassr開始以来、「⁠WassrってRailsでできてるんですか?」とよく聞かれるのですが、WassrはRailsではなくSledgeというフレームワークでできています。Sledgeはlivedoorが公開しているフレームワークで、弊社では創業以来一貫してSledgeを使いつづけています。Sledgeの魅力はその柔軟性にあり、公開されてから数年たった今の現状でも十分実用に耐えるフレームワークです。 サーバ構成 Wassrは2007年6月20日現在、16台構成で動いています。詳細は図1を参照してください。使用しているソフトウェアはすべてオープンソースです。これは、何か問題が起きたときや、そのソフトウェアについていない機能を追加したいときなどに、自分で対応

    第2回 Wassr開発の舞台裏 | gihyo.jp
  • void GraphicWizardsLair( void ); //

    m4i
    m4i 2006/10/25
  • HTML::Selector::XPath をリリース: blog.bulknews.net

    HTML::Selector::XPath をリリース CSS Selector in Perl とか subtech - Bulknews::Subtech - CSS selector to XPath あたりで議論していた CSS 2 Selectors to XPath コンパイラなモジュールをつくって、CPAN に HTML::Selector::XPath としてリリースしました。 使い方は naoya さんが先に書いてますが、HTML から正規表現を使うことなくスクレイプするのに便利。たとえば Mixi にログインしてマイミク最新日記と、1件目のタイトル、文を抜き出すコードが、以下のようにかけます。 #!/usr/bin/perl use strict; use warnings; use utf8; use Encode; use HTML::Selector::XPat

  • Perlで日付・時間を操作 - DateTime モジュールの使い方 (iandeth.)

    Perlには、日時の加・減算を扱うモジュールが標準でついてきません。僕の仕事場ではずっと、同僚が作ったオリジナルモジュールを皆で使いまわしていたのですが、今になって、世間的 (CPAN) にはどんなものがあるのか気になって調べてみました。※参考になったのは miyagawa 氏のメールマガジンの過去記事と、perl.com の The Many Dates and Times of Perl なるエントリでした。 今回は数ある日付関連モジュールの中から、Dave Rolsky氏の DateTime モジュールについて、その基的な使い方について簡単にまとめたので共有してみます。 同氏は上記 perl.com 記事の執筆者であり、この前の YAPC::Asia で DateTime project について講演してくれていた人です。気合の入ったモジュールを作ってくれた事に感謝。 目次 基

    m4i
    m4i 2006/06/04
  • naoyaのはてなダイアリー - Perl の話をまとめた

    use strict がどうのこうのという話があって、そういえば昔自分もそんなこと書いたなあと思っていろいろ自分の書いた Perl の話を見返してて、せっかくだから拙作のまとめでも作っておくかと思いました。とりあえず文章量がそれなりにあって、まとまりのあるものだけを見繕ってみます。 今見ると、当時の理解が不十分で微妙なところもあったりしますが、そのあたりはご愛嬌。 いま読んでもまだ陳腐化はしてなさそうな話 お薦めの Perl をいくつか紹介 : NDO::Weblog Perlおすすめの書籍や情報。今ならここにPerl救命病棟とWEB+DB PRESS総集編を入れるかな。 Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー Perlプログラマのレベル10。なんか他言語にも飛び火した。 Perl の変数に関するちょっとした誤解と、動的な

    naoyaのはてなダイアリー - Perl の話をまとめた
    m4i
    m4i 2006/05/21
  • CPANの漁りかた

    Perlの学習コスト高いよね、て感じのエントリが目立つのでふと思い返してみると、ぼくは1年前は 救命病棟でいうところのレベル4くらいでした。変数に our をつけると何がどう違うのかわかなかったりしたのを覚えてます。 その後1年、今はレベル8弱ってとこでしょうか。バグレポートはなるべく出すようにしていますが、車輪になりそうで、モジュールはまだ上げてません。 この1年どうやってレベルを上げてきたかなといえば、CPANあさり、これに尽きます。で、これから Perlやるぞって人にもしかして参考になるかもしれないので、ぼくがやってきた自己流の漁りかたを書いておきます。 1. まずはPerlStyleを読み直す miyagawa さんが以前 WEB+DB PRESS で連載していた Perl Style というのを、総集編マガジンで今も入手可能です。これはロギングとか OR マッピングなどの基的題

    CPANの漁りかた
    m4i
    m4i 2006/05/08
  • 404 Blog Not Found:perl -勝手に添削 - WEB DB Press Vol.32 pp.94

    2006年04月22日15:00 カテゴリWEB+DB PRESSLightweight Languages perl - 勝手に添削 - WEB+DB Press Vol.32 pp.94 というわけで、突然はじまりました勝手に添削のコーナー。 WEB+DB PRESS 今回は、WEB+DB PRESS Vol.32の「Yahoo! Web サービス活用ガイド」から。 私もWEB+DB Pressへの連載をはじめたので、同誌のますますの(反映|繁栄)を祈ってやまないのだけど、それだけに、同誌にこういうサンプルコードがあるのは気になる。一応きちんと動くので、blogとかのentryであればこれでもよいのだけど、この手の雑誌はかなり長い間保管され、読者に何度も参照されることを考えれば、「その後」のことを考えて推敲しておく方がいいだろう。Damianも言っていたように、「ソースコードは未来の自

    404 Blog Not Found:perl -勝手に添削 - WEB DB Press Vol.32 pp.94
    m4i
    m4i 2006/04/22
  • perl - rubyfury.cgi now sports mecab! : 404 Blog Not Found

    2006年04月10日06:03 カテゴリLightweight Languages perl - rubyfury.cgi now sports mecab! これにインスパイヤされて、以前転がしといたrubyfury.cgiをMeCabを使うように書き換えてみました。 [Perl] 形態素解析MeCab(和布蕪)をPerlから使ってみる ゆうすけブログ/ウェブリブログ 京都大学 情報学研究科のオープンソース形態素解析エンジンMeCab(和布蕪)を インストールして試してみたメモ。ChaSen, Juman, KAKASIより高速らしい。 今回は、形態素解析自体じゃなくて、分かち書き・読み仮名取得が目的です。 Bookmarkletから呼び出すと便利です。 Rubyfury Bookmarklet ちなみにこのrubyfury、何をするかというと、任意のWebページにルビを振ってくれます

    perl - rubyfury.cgi now sports mecab! : 404 Blog Not Found
    m4i
    m4i 2006/04/10
  • Tociyuki::Diary - perlでのクロージャの3パターン

    id:naoya さんが Perl のクロージャの使い道を考えておられるようです。便上して、私が良く使う、3つのパターンを紹介してみます。なお、単なるコード・リファレンスとしての使い方は除外して付随するコンテキストが意味をもつクロージャの場合に限ります。 (2006年2月14日修正 use Fcntl のパラメータに :DEFAULT が抜けていたので追加しました。) コールバック・パターン イテレータにクロージャを渡して、イテレータの中から繰り返し呼び出してもらってコンテキストに副作用を及ぼす使い方です。クロージャの使い方の中でも最も自然に使えるものだと思います。以下、Ruby のブロック呼び出しっぽくコード・リファレンスを $yield パラメータに渡すことにします。へそ曲がりに BBS の CGI コード用に flock による排他ロックを例にしてみます。 package Mutex

    Tociyuki::Diary - perlでのクロージャの3パターン
  • perl でインタラクティブなシェルを実現する perlsh - 2nd life (移転しました)

    http://search.cpan.org/~hayashi/Term-ReadLine-Gnu-1.15/eg/perlsh 最近 perl を勉強中で、ちょくちょく挙動に関する疑問が出てきます。ですが Ruby における irb のようなインタラクティブシェルが無い(と思っていた)ため、挙動をちょくちょく調べるのに、エディタ開いてソース書いたりしていてめんどくさい!と思ってたりします。 しかし今日 id:hideoki が挙動チェックでなにやら便利そうな対話型のシェルを使っており、それが perlsh というインタラクティブなシェルでした。 $ perlsh # 起動 main[10]$ @ary = qw(1 2 3 4 5) 1 2 3 4 5 main[11]$ map { $_ * $_ } grep { $_ % 2 } @ary 1 9 25 のように対話的に実行でき、返

    perl でインタラクティブなシェルを実現する perlsh - 2nd life (移転しました)
    m4i
    m4i 2006/01/12