タグ

perlに関するshidhoのブックマーク (233)

  • Perlの最新動向 2021 - Mobile Factory Tech Blog

    こんにちは、エンジニアの id:mp0liiu です。 8月28日(土)の Learn Languages 2021 というイベントの Language Update というセッションで@charsbarさんと一緒に2018年以降のPerl5やPerlコミュニティの最新動向について話してきたので、そのとき話した内容に補足などしつつ記事にしていきたいと思います。 配信アーカイブはこちらから見れます。 時系列 2019/5/22 Perl5.30 リリース 2020/6/20 Perl5.32 リリース 2020/6/24 Perl7の発表 2021/5/21 Perl5.34 リリース Perl5.30 の変更点 正規表現や文字周りの細かい改善などはありますが、正直めぼしい変更点が見られないです。 Perl5.32 の変更点 isa 演算子の実装 値があるクラスのインスタンスもしくはそのサブ

    Perlの最新動向 2021 - Mobile Factory Tech Blog
    shidho
    shidho 2021/10/13
    とかなんとか見つつ、perlに触らなくなって5年以上経ったな。
  • Milano::Monolog: mod_rewriteでサーバーの負荷が高いときだけリダイレクトする

    mod_rewriteでサーバーの負荷が高いときだけリダイレクトする ワタシが働いている会社のホームページは、たまーにYahooのトピックスからリンクされます。 トピックスに載るとそれはもう大量のアクセスが津波のように押し寄せてきて、あっというまにサーバーのリソースをいつぶしてアクセス不能になってしまいます。 こういうときのために、Contents Delivery Networkによるキャッシングも利用してます。 今までは、リンクされそうになったらmod_rewriteでリダイレクトって方法を使っていました。 でも毎回これをやるのが面倒になってきたので、なんとかならんかなーと思って、RewriteMapに初挑戦してみた。 RewriteMap使えばRewriteCondとかRewriteRuleにプログラムの出力結果を使うことが出来るようになるので、これでWebサーバーのロードアベレー

    Milano::Monolog: mod_rewriteでサーバーの負荷が高いときだけリダイレクトする
    shidho
    shidho 2015/02/16
    perlの負荷が……なので、続きも読みつつな記事。
  • Perl を学ぶとき、真っ先に覚えたいモジュール

    春ですね! 新年度ですね! Perl 書くことになってしまいましたか! 奇遇ですね! sigil が意味わかりませんか! 特殊変数がググれませんか! リファレンスが謎ですか! 1; の存在が不明ですか! オブジェクト指向が難しいですか! むしろオブジェクトじゃないコードの方がゆるくて大変ですか! XS が読めませんか! ええ、XS は僕もあんまり読めません>< さて、この春から Perl を学ぶことになった人も多いかと思いますが、なにはなくともこれまず覚えたら後が楽になるんじゃないかというモジュールを、いくつか紹介したいと思います! (まあ、自分の初期を思い返すと、この辺はやく知っておきたかったなあというリストです) Data::Dumper, YAML 変数(リファレンス)やオブジェクト(blessされたリファレンス)をダンプする用途では、Data::Dumper が一番メジャーのような

    Perl を学ぶとき、真っ先に覚えたいモジュール
    shidho
    shidho 2013/04/16
  • 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の食えない事情 - 演算子編 - アリ
    shidho
    shidho 2013/02/05
    誰得な演算子だな。
  • Perlでコマンドラインオプションの解析に Getopt::Long を使う時、絶対に忘れてはいけない引数 - たごもりすメモ

    Perlでコマンドラインオプションをparseしようと思うと組込みモジュールとしては Getopt::Std と Getopt::Long がある。が、long style option *1 つまり --option-name のようなオプションを解釈してくれるのは Getopt::Long だけだ。なので普通はこちらを使おう。 ただし 絶対にデフォルト、つまり以下のようにして使ってはいけない。 use Getopt::Long; my (@primary, @secondary, $silent); GetOptions( "server-primary|p=s" => \@primary, "server-secondary|s=s" => \@secondary, "silent|S" => \$silent ); これダメ! 絶対ダメ! 死ぬ! 最初に結論を書く 必ず以下のように

    Perlでコマンドラインオプションの解析に Getopt::Long を使う時、絶対に忘れてはいけない引数 - たごもりすメモ
    shidho
    shidho 2012/09/20
    地雷だけど標準がそうだという説がコメント欄にあり。
  • $@ などの特殊変数をわかりやすい英語名で使用する - わからん

    require "English" すれば、 $@ ではなく $ERROR_POSITION と書けるみたいです。Perl にはそういうのがあると、昔、刺身さんから聞いた気がします。Ruby にもあったのかー。いつのまにか Ruby 標準添付ライブラリの地位を奪取していた James Edward Gray II さん作の csv ライブラリを眺めていてみつけました。上級者は使わないというわけでもなく、好みの問題みたいですね。 ▼ ~/.rvm/rubies/ruby-1.9.3-p125-perf/lib/ruby/1.9.1/English.rb # Include the English library file in a Ruby script, and you can # reference the global variables such as \VAR{\$\_} usin

    shidho
    shidho 2012/09/06
  • Perl で自然言語処理

    これから自然言語処理を業務でやってみようとしている技術者を対象にしています。 前半は自然言語処理や学習方法について述べており、後半はWebサービスに適用しやすい自然言語処理技術について述べています。Read less

    Perl で自然言語処理
  • さくらのレンタルサーバーライトプランでCPANモジュールをインストールするためのスクリプト - Perl入門ゼミ

    Perl › Mojolicious さくらのレンタルサーバーライトプラン(月額125円)でCPANモジュールをインストールするためのWebアプリケーション(CGIスクリプト)を書きました。さくらのレンタルサーバーライトプランでは、SSHやTelnetを使えないために、CPANモジュールのインストールは障壁の高いものになってはいますが、このツールを使うとあら簡単に、Webブラウザ上からモジュールをインストールすることができます。 Windows上でMojoliciousの開発を始めて、さくらのレンタルサーバーで公開するまでの手順と同じ手順でさくらのレンタルサーバー上にFTPでアップロードしてください。app.cgiのパーミッションは755にする必要があります。 ディレクトリ構成は以下のようにします。 sakuracpanm - app.cgi モジュールのインストールはテキストボックスにモ

    さくらのレンタルサーバーライトプランでCPANモジュールをインストールするためのスクリプト - Perl入門ゼミ
    shidho
    shidho 2011/03/23
    むかしいろんなところで聞いて出来なかったことが出来るようになってきたなあ。
  • 「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)

    (追記あり) How to Identify a Good Perl Programmer (by chromatic) が面白かった*1ので、27の質問を訳してみました。chromatic氏によれば、いずれも単純明快な質問でPerlの哲学や特徴をよく現しており、優れたPerlプログラマであれば少なくとも80%は答えられるべきだそうです*2。あなたは全ての質問に答えられますか? Perl5において変数のシジル*3が示すものは何か 配列のアクセスする際の $items[$index] と @items[$index] の違いは何か == と eq の違いは何か ハッシュをリストコンテキストで評価すると得られるものは何か Perlドキュメントからキーワードを検索するにはどのようにするのか Perl5における関数とメソッドの違いは何か Perl5が変数のメモリを再利用するのはいつか 変数のスコー

    「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)
    shidho
    shidho 2011/03/01
    「シジル」とか用語がわからなかった。/使ったことも聞いたこともないのでググってみたがそれでもperl界隈では出てこないカタカナだな。
  • 小ネタ:関数ブロックでnext使うと悲しい事になる - D-6 [相変わらず根無し]

    小ネタ:関数ブロックでnext使うと悲しい事になる 2011年2月23日 15:54 D | ブログ記事のURL | コメント(0) | トラックバック(0) use strict; sub foo { my $n = shift; next if $n > 5; warn $n; } foreach my $x ( 1..10 ) { foo( $x ); } これで嵌った。問題は当然 "next"。ループの中で呼ばれるfooの中で"next"を使ってるので fooに5以上を渡すと外側のforeachを抜けてしまうのだ。 理由が分かってみればなるほど、だったけど、これはしばらく嵌った。ちなみにuse warningsしてると "Exiting subroutine via next" っていう警告がでるよ!良い子はnextの変わりにreturnを使ってね! カテゴリ 日常 タグ perl

    shidho
    shidho 2011/02/23
    use warningを使おう、というお話。
  • Email::MIME::MobileJPで文字コードまわりに気をつかわないでメールの送受信をおこなう - Articles Advent Calendar 2010 Hacker

    メール関係のモジュールをとりまとめて、カジュアルにつかえるようにするためのモジュールをかいてみました。 メールの受信(Parsing) メールのパーズは、以下のように、メールの文字列をくわせてやればいいです。 use Email::MIME::MobileJP::Parser; my $src_text = do { local $/; <> }; my $mail = Email::MIME::MobileJP::Parser->new($src_text); メールオブジェクトから Subject をえるには以下のようにしましょう。 ここでとれるものは MIME ヘッダにはいっている情報をもとに、UTF-8 に decode された文字列です。 可能ならば絵文字も decode します。これには [Encode::JP::Mobile](http://search.cpan.org/p

    Email::MIME::MobileJPで文字コードまわりに気をつかわないでメールの送受信をおこなう - Articles Advent Calendar 2010 Hacker
  • YouTube - 峰松浩樹 LT - 基幹システムがperlでどうしてこうなった

    YAPC::Asia Tokyo 2010 (c)峰松浩樹 CC-BY-NC

    YouTube - 峰松浩樹 LT - 基幹システムがperlでどうしてこうなった
  • perlモジュールのinstallにcpanmを使う - Perl - @OMAKASE

    当サイトのblogのエントリーで検索ワードが多いのはCPANなんですがこの古い記事はperl5.6時代に書いた記事(多分10年近く前だと思う)で今時のperl使いにお勧めできるものではありません。 2010年2月にあの miyagawa さんが書いた cpanminus が非常に素晴らしいので CPAN::shell を捨てて App-cpanminus を積極的に利用しましょう。 と言うことでcpanに関連して新しい記事を書いてみました。 CPAN::shell の欠点 設定が面倒 動作が遅い(cpanmと比較して) 多くのメモリが必要(制約のきついレンタルサーバで使うのは無理) 依存するモジュールが多い 基root権限が必要 cpanm の利点 一枚岩のプログラムで可搬性に優れる 高速で小メモリでも動作可能 pluginで拡張できる local::lib と組み合わせるとユーザーラン

  • perl - use blib : 404 Blog Not Found

    2006年06月04日21:45 カテゴリLightweight LanguagesTips perl - use blib 実はこういう場合にも、リモート側と同じOSと、同じバージョンのperlがあれば、use blibを使って難を逃れることが可能である。 いつでもどこでも、すぐに DateTime モジュールを使いたい - iandeth. shell と make コマンドが使える環境ならば、"$ perl -MCPAN -e 'install DateTime' " で自動インストールしちゃえるのですが、これができない状況:方法は至って簡単。ここではBSD::statを例に取る。 ローカル側で、必要なモジュールのmake testまで済ませておく。 mkdir nomake cd nomake lwp-download http://search.cpan.org/CPAN/aut

    perl - use blib : 404 Blog Not Found
  • Now Text::MicroTemplate is even faster than HTML::Template::Pro - Islands in the byte stream (legacy)

    前提:Text::MicroTemplateの速度を簡単にベンチマーク Text::MicroTemplateを最適化したので,ベンチマークをとってみた。 スクリプトはほぼ同じだが,loop countは-1*1にした。 http://github.com/kazuho/p5-text-microtemplate/blob/master/author/benchmark_templates.pl キャッシュを有効にした結果*2: $ perl benchmark_templates.pl Perl/5.10.1 (i686-linux) HTML::Template/2.9 HTML::Template::Compiled/0.94 HTML::Template::Pro/0.92 Template/2.22 Text::MicroTemplate/0.09 Benchmark: runn

    Now Text::MicroTemplate is even faster than HTML::Template::Pro - Islands in the byte stream (legacy)
  • 第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp

    Shibuya.pm #12連動企画 日開催のShibuya Perl Mongersテクニカルトーク#12のテーマは "No Perl, NoSQL, NoKVS" または "Not only Perl, Not only SQL, Not only KVS" ということなので、今回はそれにあわせてYAPC::Asia 2009でも紹介されていたKiokuDBについて簡単に取り上げてみます。 オブジェクトをまるごと保存する 牧大輔氏も『モダンPerl入門』のなかで、データベースをハッシュテーブルのようにとらえて、「⁠基的にプライマリキーからデータを持ってくる構成のみにすると、ORMを使用することによりキャッシュの導入も含めてチューニングが楽になります」と書いているように、Perlの世界では最近RDBMSやその上位層で頑張りすぎるより、モデリングの仕方そのものを工夫して実装や保守のしや

    第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp
    shidho
    shidho 2009/11/30
    なんかすごいかも。
  • Text::MicroTemplateで遊ぶ : As Sloth As Possible

    こないだ言ってたPlackアプリのサンプルでは、出来るだけ普段使ってない構成にしようと目論んでて、そのために例えばテンプレートエンジンにはText::MicroTemplateを使ってみたりしている。 Text::MicroTemplateはシンプルで軽くてなかなか良かった。ちなみにこんな感じで使う。 use Text::MicroTemplate qw(:all); my $html = render_mt('Hello, <?= $_[0] ?>', 'faultier')->as_string; でもファイルから読みたいよねーそれ実装しなきゃなのかなーとか思ってたらちゃんとText::MicroTemplate::Fileってのがあって、こっちを使えばキャッシュも使ってくれるしラッパーの機能とかもあるしで素敵だ。 ?# hello.mt Hello, <?= $_[0] ?> use

    Text::MicroTemplateで遊ぶ : As Sloth As Possible
  • 第20回 Email::Sender:メールを送信する | gihyo.jp

    メール送信のあれこれ たとえばウェブアプリケーションでなにかの注文を受け取ったとき、あるいはシステム管理ツールでなにか異常を発見したとき、ユーザや管理者にメールを送れるようにしたい、というのはよくある要件です。昔はヒアドキュメントやテンプレートエンジンなどを使って送信したいメールを用意したあと、sendmailへのパイプを開いてメールを流し込んでいたものですが、いまはメールの作成から送信まで、すべてモジュールを使って実現できるようになっています。 とはいえ、需要が大きいだけにメール関係のモジュールは山のようにあります。ディストリビューション(パッケージ)の数だけで500を数えますし、メール関係の名前がついたモジュールは現在CPANにアップロードされている7万以上ものモジュールのほぼ1割を占めるほどです。これではどれを使えばよいのかわからないという声があがるのも当然でしょう。 そこで今回はP

    第20回 Email::Sender:メールを送信する | gihyo.jp
  • Perlでroot権限で動作させる場合の注意点 - pepponの日記

    root権限で動作させたい常駐プログラムを作って動作させてみたものの、うまくいく場合とうまくいかない場合があって、かなりはまってしまった。 シェル上でrootユーザでperlプログラムを実行した場合と、なんらかのトリガー(メールや、xmlrpcとかでコマンドを受け取って)を経て自動で実行させるときの違いを調べてみた。 perlsec - Perlセキュリティ http://perldoc.jp/docs/perl/5.6.1/perlsec.pod Perl は、そのプログラムが異なる実ユーザー ID、実効ユーザー ID、実グループ ID、実効グループ ID を使って実行されることを検出したときに、自動的に 汚染モード (taint mode) と呼ばれる特別なセキュリティチェックのセットを有効にします。 UNIX パーミッションにおける setuid ビットはモード 04000 で、

    Perlでroot権限で動作させる場合の注意点 - pepponの日記
  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

    shidho
    shidho 2009/10/08
    試してみないと。