タグ

perlに関するpy0nのブックマーク (97)

  • Mojolicious最速マスター - Qiita

    PerlのWeb Application Frameworkである Mojolicious でアプリをつくる場合に必要な基礎的な使用法を紹介します。1枚スクリプトから書けるMojolicious::Liteを前提としていますが大きなモノにも対応出来ます。 イントロ インストールする cpanm コマンドでコアモジュール以外の依存関係無しで一発。

    Mojolicious最速マスター - Qiita
  • App::pfswatch - ファイルの変更を検知して、指定したコマンドを実行する - Articles Advent Calendar 2011 Hacker

    前置き こんにちは、aloelightと申します。みなさん、意識は高まっていますか? 私は上々です。 今日は、拙作のpfswatchを紹介します。 ファイルが変更されたら特定のコマンドを叩きたいなーと思ったことはありませんか?pfswatchを使うと簡単に実現できます。 使い方 インストール方法は cpanm App::pfswatch を叩くだけです。適当なbin/に pfswatchコマンド がインストールされます。インストール後は、pfswatchコマンドに監視したいディレクトリやファイルと実行したいコマンドを-eオプションのに続けて渡してあげます。 $ pfswatch /path/to/watch -e perl -E 'say "wassyoi"' 私は以下のようなコマンドで、モジュールを更新したらテストを自動で実行するために使っています。別窓で立ち上げておくと、横目で互換性が

    App::pfswatch - ファイルの変更を検知して、指定したコマンドを実行する - Articles Advent Calendar 2011 Hacker
    py0n
    py0n 2013/11/06
    便利そう。
  • Vim実践入門 ~Perl編~

    YAPC::ASIA 2013 9/20 at 慶応大学 株式会社GaiaX Kazuhiro Homma (@kazuph) Whoami @kazuph / 間 和弘(Kazuhiro Homma) Web&SmartPhone Engineer / 株式会社ガイアックス 社内でCPAN Authorになろうハッカソンを開催しました!! Vimのsnippetについてあまり知らなかったので設定してみたら便利過ぎてつらい Whoami 去年の素数戦争の企画・運用をやってました ガイアックス × CodeIQ Yapc::Asia2012::素数戦争(PrimeWars) 言語別開発環境 メモ(日語) GVim Perl Vim iPhone / Objective-C XCode + XVim Android / JAVA Eclipse + Vimperator Chrome Vi

    py0n
    py0n 2013/09/27
    勉強になった。
  • YAPC::Asia Tokyo 2013: 「本当にあったレガシーな話」と最近のlivedoorBlogの改修 : D-7 <altijd in beweging>

    はい、というわけで自分のトークです: 昨年12月頃から関わってるlivedoorBlogのコードを触っていた時の憤りをスライドにぶつけてみました。 追記:スライドに「ログにマーカーをつける」というのは、(コード読んでないけど)多分こちらのエントリにあるLog::Minimal::Indentとだいたい同じ感じのヤツです ところでWeb上で見かける感想の中でこんなのがありました: 今年個人的に一番衝撃的だったのはやっぱ、livedoor blogのPlack化です。技術的な側面もさることながら、ああいう近視眼的には何のメリットもないし、逆にデメリットの方が大きそうな案件にリソースを割くジャッジができる会社としての姿勢が当に凄いなと。 実はビジネス的にも意味はあるんだなー。 なかなか書くことができなかったんだけど、その内容というのがこちらと→ ブログのお引っ越し機能を大幅に強化しました! (

    YAPC::Asia Tokyo 2013: 「本当にあったレガシーな話」と最近のlivedoorBlogの改修 : D-7 <altijd in beweging>
    py0n
    py0n 2013/09/24
    ウチもやんなきゃなあ。
  • Perlの食えない事情 - 演算子編 - アリ

    Perlえない事情 より おっと、そうです、Perlには演算子が多すぎるのでした。せっかくの機会なので、Perlの演算子を紹介します。 ビーナス演算子: 0+, +0 数値として評価してくれます。意外とよく見かけますね。 なぜこの演算子を使う必要があるのかというと、Perlは文字列と数値を明確に区別できないからです。scalarを文字列として解釈するならば文字列として、 print 0+ '10'; #=> 10 print 0+ '123b'; #=> 123 print '1.2e3' +0; #=> 1200 print [] +0; #=> 4303367864 ちなみに、文字列として評価するときにはこのようにするとかっこいいと言われています。 $obj.q(); 一見メソッド呼び出しのように見えますが $obj . ''; と等価です。 ベビーカー演算子: @{[ ]} 文字

    Perlの食えない事情 - 演算子編 - アリ
    py0n
    py0n 2013/02/05
    読めない。
  • use constant した定数を実行時に書き換えるのは難しい - Pixel Pedals of Tomakomai

    恥ずかしながら今日まで知らなかったんすっかり失念してたですが、要はラクダ第3版の6.4.1 定数関数のインライン化の内容です。 過ちを犯した use constant は関数と等価であることは有名です。それを利用して、定義した内容を実行時に別の値にしたくて以下のコードを書いたんですが、駄目でした。 use strict; use constant HOGE => 'A'; no warnings 'redefine'; *HOGE = sub () {'B'}; print HOGE, "\n"; これは A と出力されます。 理由 Deparseするとわかります。 % perl -MO=Deparse test.pl use constant ('HOGE', 'A'); no warnings; use strict 'refs'; *HOGE = sub () { 'B' } ;

    use constant した定数を実行時に書き換えるのは難しい - Pixel Pedals of Tomakomai
    py0n
    py0n 2012/05/15
    定数は面倒くさい
  • "Constant subroutine foo::bar redefined" を抑制する - Islands in the byte stream (legacy)

    普通のサブルーチンの再定義は "no warnings 'redefined'" "no warnings 'redefine'" で警告を抑制できるわけですが、定数サブルーチンは警告のでる条件がちょっと違います。具体的には、再定義警告は以下のいずれかの条件を満たすときです*1。 use warnings 'redefine' (or -w switch) のもとである 対象が定数サブルーチンかつ再定義しようとしている値が異なる 例: #!perl -w use strict; use constant FOO => 10; # first definition use constant FOO => 10; # redefine without warnings use constant FOO => 20; # redefine WITH warnings constant.pmを使っ

    "Constant subroutine foo::bar redefined" を抑制する - Islands in the byte stream (legacy)
    py0n
    py0n 2012/05/15
  • [Perl] CGI.pm の charset('utf-8') - cyberlib.enterbrainz.com

    [Perl] CGI.pmのデフォルト文字コードはISO-8859-1。 そこでcharsetメソッドで文字コード指定するが charset('utf-8') は注意。 例1) #!/usr/bin/perl use strict; use warnings; use CGI qw(-nosticky); my $cgi = new CGI; $cgi->charset('utf-8'); my $str = $cgi->param('str') || ''; $str = $cgi->escapeHTML($str); print $cgi->header, $cgi->start_html(-title=>'test',-lang=>'ja-JP'), $cgi->h1($str),    #[error] Wide characte

    py0n
    py0n 2012/02/27
    これに嵌つて泣いた。
  • [perl] return undef ではなく return がベストプラクティス。そしてハッシュではまる。 - bonar note

    ダミアン先生によれば、 return undef じゃなくて return のみがベストプラクティスって話。例えば引数で受けた数が偶数どうかだけを判別するスクリプトがあったとします。 #!/usr/bin/perl use strict; sub is_even_number { my ($digit) = @_; if (($digit % 2) == 0) { return 1; } else { return undef; } } print is_even_number(shift) ? "yes?n" : "no?n"; is_even_number 関数は偶数なら1、それ意外ならundefを返します。これでほとんどの場合問題ないのですが、ふとした局面で配列で受けちゃったりするとやっかいな事になったりならなかったり。 my @test = is_even_number(3); i

    [perl] return undef ではなく return がベストプラクティス。そしてハッシュではまる。 - bonar note
    py0n
    py0n 2010/12/17
    全く同じ事でハマつた。
  • 正規表現愛

    弊社には、アンチ正規表現の人がいますが、私は熱烈な正規表現 Lover である。 大崎氏の「Perl 正規表現雑技」とかは、正規表現 Lover 垂涎のコンテンツとして、ブラウザのリンクバーに入れている程である (嘘)。 正規表現は覚えてモノにすれば、シアワセになれる素晴らしい仕組みなのです。 昨日、Shibuya.pm のテクニカルトークに行った際「はてなでは XML 系の CPAN モジュールはあまり使っておらず、XML の parse には殆んど正規表現を使用している」という話が出てきて、嬉しさのあまり身震いした。 parser を書くのが面倒臭くて「XML::Simple 最強」とかホザいた自分に対しての自戒と、弊社の Chief Regular Expressioner という肩書を持つ (自称) 立場の人間として、たまには、正規表現ゴリゴリなネタでも書いてみようかなと思いますた

    正規表現愛
    py0n
    py0n 2010/10/14
    勉強になった。
  • Big Sky :: VimmerなPerl開発環境

    えーっと、IDE使ってません。ごめんなさい。 PerlをIDEで書いてる人、どれくらいいるんだろう。何使ってるんだろ。 私はLinuxでもWindowsでもVimを使ってます。Perlってサーバで使われる事が多いし、サーバだとsshで入る事が多いだろうし、まぁXの転送やVNCやそれっぽいのでグラフィカルに操作しても良いけど、正直PerlのドキュメントもテキストベースだしPerlで入力補完出来るグラフィカルエディタもまず無いと思ってる。 で、私がVim上で使ってるPerlの開発を「200倍便利にするスクリプト」を紹介。 perldoc.vim perldocはPerlのオンラインマニュアルなんだけど、これを一々ターミナルに戻ったりして引いてると時間のロス。screenで分割して開いてもいいんだけどscreenの画面間移動よりもVim内でのウィンドウ間移動の方が操作感が統一出来てて良い。 そこ

    Big Sky :: VimmerなPerl開発環境
    py0n
    py0n 2010/09/16
    perl-supportとどっちがよいだろう?。
  • [Perl] my と local と our の違いについて - 竹迫の近況報告

    404 Blog Not Found:perl - myとourとscopeと みんな難しく考えすぎです。 (例外については後で考えることにして)とりあえず以下の基をおさえておけば混乱することはないと思います。 ■ our 宣言について our はグローバル変数をスマートに使用するための宣言です。our は use vars と等価と考えてください。 our $var; は use vars qw($var); と等価。 our $var = 1; は use vars qw($var); $var = 1; と同じ動きをするもの、と覚えておけばOKです。それ以上の違いは基的にないと考えて構いません。 ひとつ実用上の違いがあるとすれば、our は Perl 5.6 以降の built-in なのに対して、use vars は vars.pmPerlスクリプトで実装されています。し

    [Perl] my と local と our の違いについて - 竹迫の近況報告
    py0n
    py0n 2010/06/29
    スコープとかなんとか。
  • perl - myとourとscopeと : 404 Blog Not Found

    2008年01月10日10:15 カテゴリLightweight Languages perl - myとourとscopeと うーん、微妙に違います。 local と my - IT戦記 our 名前をソース上のスコープに限定. local 値をスタック上のスコープに限定. my 名前と値の両方をソース上のスコープに限定 なら、理解しやすいと思います>< 以下のコードを見てみましょう。何と表示されるでしょうか。 { package Foo; our $bar = 'baz'; } our $bar = 'drink'; warn $bar; warn $Foo::bar; 「ソースに限定する」あるいは「ファイルに限定する」のだとしたら、この挙動はありえないはずです。 ここで、Perlのスコープに関するルールを覚えておきましょう。すっごく簡単です。 {}は、問答無用でスコープを作る = b

    perl - myとourとscopeと : 404 Blog Not Found
    py0n
    py0n 2010/06/29
    「奥が深い」と云ひさうになる。だが云はない。
  • tech-log 控え室改め ありんくtech-log

    py0n
    py0n 2010/06/03
    変なサーバが一台在るので参考にして調査してみる。
  • mod_perl: mod_perl 2.0 API

    The mod_perl Developer's Cookbook By Geoffrey Young, Paul Lindner, Randy Kobes Part I: Apache2:: Core API Apache2::Access - A Perl API for Apache request object: Access, Authentication and Authorization. The API provided by this module deals with access, authentication and authorization phases. Apache2::CmdParms - Perl API for Apache command parameters object Apache2::CmdParms provides the Perl AP

    py0n
    py0n 2010/06/02
    何か、偶に気が利いてないと思ふ事がある。かゆい所に手が届かない事がある。
  • perl - にも集合オブジェクトと演算を : 404 Blog Not Found

    2010年05月05日04:15 カテゴリLightweight Languages perl - にも集合オブジェクトと演算を 404 Blog Not Found:perl - 配列の∪と∩に想定内の返事が。 PERL HACKS(日語版) [英語版] 2010-05-01 - methaneの日記一方、Pythonはsetの演算子を定義した。 もちろんPerlでも定義できます。 以下、実例。 #!/usr/bin/perl use strict; use warnings; package Set; sub main::set { __PACKAGE__->new(@_) } # exportの代わり use overload ( '@{}' => \&array_ref, '""' => \&string, '|' => \&union, '&' => \&intersectio

    perl - にも集合オブジェクトと演算を : 404 Blog Not Found
    py0n
    py0n 2010/05/10
    Perlで集合演算。
  • はてなブログ | 無料ブログを作成しよう

    【自分語り】1推しの卒業によせて . 私の1推し、ゆきりんこと柏木由紀ちゃんが、17年に渡り在籍したAKB48を卒業することになった。 この機会に、ゆきりん推し(48ファン)としての自分自身のことをすべては不可能であるものの振り返ろうと思う。 内容からして世代がわかることも仕方ないし、限りなくゼ…

    はてなブログ | 無料ブログを作成しよう
    py0n
    py0n 2010/04/13
    環境に依存しないパスの操作。
  • perl - で全角半角変換をモダンに行う : 404 Blog Not Found

    2009年06月06日01:15 カテゴリLightweight Languages perl - で全角半角変換をモダンに行う 今ならLingua::JA::Regular::Unicodeが第一選択肢ですが、こういう方法もあるということで。 Perl で半角カナと全角カナの変換をする : Serendip - Webデザイン・プログラミング Perl を使って半角カタカナと全角カタカナの変換をするスクリプトを、標準モジュールの Encode.pm と Unicode::Japanese と Lingua::JA::Regular::Unicode を使ってそれぞれ変換スクリプトを書いてみる。 CORE Moduleのみを使うという縛りをかけています。 #!/usr/bin/perl use 5.008001; use strict; use warnings; use utf8; us

    perl - で全角半角変換をモダンに行う : 404 Blog Not Found
    py0n
    py0n 2010/04/08
    なんか凄い。
  • XML::LibXMLでHTML文書を扱う - 徒書

    XML::LibXML大好きな者が以下述べてみます。 しかし、XML::Liberalを除けば、XML::*なモジュールはX抜きのHTMLってくれない.... と、404 Blog Not Found:perl - HTMLをXMLとして扱うで書かれていたのですが、XML::LibXML、というかその基となるCライブラリlibxml2はHTMLパーサも備えているので、直にHTMLを扱うこともできます。 ただ元がXMLパーサなだけに、少しでもHTML文書に壊れた部分があると解析エラーを起こして停止してしまいますが、幸いなことにそのエラーから回復するモードも備えています。以下サンプルを。 use strict; use warnings; use XML::LibXML; my $parser = XML::LibXML->new(); $parser->recover_silently(

    py0n
    py0n 2010/03/27
    エンコーディングの変換でエラーになる。
  • WikiHub :: php-funcref-in-perl :: README

    README arrays array array_change_key_case array_combine array_count_values array_fill_keys array_flip array_map array_merge array_pop array_push array_rand array_reverse array_shift array_splice array_sum array_unshift array_walk count datetime localtime strftime time dir chdir chroot closedir getcwd opendir readdir rewinddir scandir filesystem basename chmod dirname is_dir is_executable is_file m

    py0n
    py0n 2010/03/07
    パズルみたいで面白さう。