タグ

perlに関するyassan0627のブックマーク (189)

  • vim で Perl を書くときのための tips - Articles Advent Calendar 2012 Casual

    @tokuhirom です。Perlを書き始めて8年ほど経ち、Perlで何か作る際の効率化の手法がそれなりに確立してきたので、それを思いつくままに紹介しようと思います。主に多言語から来てPerlにほどんど慣れてない方などを想定しています。 僕の秘伝のタレ的な .vimrc の中から perl に関係ある部分だけをぬきだしてお教えしましょう。すべて設定すればだいぶ快適になりそうです。とかかいてると教えるのもったいない気分になってきた。 ぼくの環境 僕は vim の環境として以下のようなものを指定しています。mattn さんからは DIS られがちです。 neosnippet unite.vim pathogen vim-perl プロジェクトの成果物をつかう https://github.com/vim-perl/vim-perl なんか最近、perl-vim から vim-perl にかわ

    vim で Perl を書くときのための tips - Articles Advent Calendar 2012 Casual
  • 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開発環境
  • 例えば、正規表現を避ける

    Profile id: Songmu (ソンムー) Masayuki Matsuki おそらくはそれさえも平凡な日々 http://www.songmu.jp/riji/ https://metacpan.org/author/SONGMU 趣味はCPANizeでした はてな東京オフィス チーフエンジニア Mackerel ディレクター 最近作ったgoプロダクト https://github.com/Songmu/horenso https://github.com/Songmu/prompter https://github.com/Songmu/goshim https://github.com/Songmu/retry/cmd/retry https://github.com/Songmu/wrapcommander https://github.com/mackerelio/che

  • Perl MongerのためのGoの始め方

    Gotanda.pm #8 (2016-03-31 16:30) 37ページがおもいっきり間違っているので修正したものを後ほどUPします

    Perl MongerのためのGoの始め方
  • 「初めてのPerl」 第十五章 - Akihiro's Programmer Blog

    第十五章から。 第十五章 スマートマッチとgiven-when 内容 用語集 Point スマートマッチ given文 用語集 用語 説明 スマートマッチ オペランドの種類と順番によって最善な比較処理を行う ダムマッチ いつもの比較演算子を使った比較処理。ダム=賢くないという意味。 Point スマートマッチ # スマートマッチ演算子を使うとプログラム側で良い感じに比較処理をしてくれる my $number = 1; $number ~~ 1; # ==と同等 my $string = "hoge"; $string ~~ "hoge"; # eqと同等 $string ~~ /hoge/; # =~と同等 # ハッシュや配列に対しても様々な処理を行う # オペランドの種類と順番によって処理が異なる given文 # Cで言うswhich文のようなものを想像すると良い my $string

    「初めてのPerl」 第十五章 - Akihiro's Programmer Blog
  • Replyでお手軽にPerlのコードを動かす話 - Masteries

    Perl入学式 Advent Calendarの15日目の記事となります. 今日は「ちょっとくらいテックな話書きたい」ということで, Data::Printerの話をしよう... と思っていたのですが, 先日Perl Advent Calendarの枠が空いていた枠を埋める時にネタとして既に使ってしまっているので, その変わりにReplyの話をしたいと思います. Replyは, Perl向けのREPL環境です. REPLというのはRead-eval-print loopの略で, コードを入力して(読んで), 実行して, 結果を表示する... というのを繰り返す(ループする)ツールです. 「対話型評価環境」とも言ったりします. 普通, Perlのスクリプトを動かしたい! という時は, Vimなどのエディタでコードを書いて, 名前を付けて保存して, それを実行していくと思いますが, Reply

    Replyでお手軽にPerlのコードを動かす話 - Masteries
  • Perl コードのメトリクス測定

    メトリクス解析ツール Perl コードのメトリクス解析には Perl::Metrics::Lite やコマンドラインツールの App::plmetrics を使用します。 plmetrics App::plmetrics モジュールにはコマンドラインでメトリクス解析を簡単に行う plmetrics が含まれています。 $ plmetrics --module Encode /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Encode.pm .---------------------------------------------------. | | avg | max | min | range | sum | methods | +-------+-------+-----+-----+-------+-----+---------+ | c

    Perl コードのメトリクス測定
  • TIme::Moment+Time::Strptime=

    Aniki is a simple and fast ORM that focuses on object mapping, relationship support, and being pluggable/extendable. It aims to be simpler than alternatives like DBIx::Class by delegating tasks like transactions and SQL generation. Benchmark tests show Aniki performs SELECT, INSERT, and UPDATE operations faster than Teng and significantly faster than DBIx::Class, while also being easier to underst

    TIme::Moment+Time::Strptime=
  • App::YG - ログをう゛ぁーてぃかるぱみゅぱみゅしちゃう!! - Articles Advent Calendar 2012 Hacker

    やあハッキングモンスターのみんな、元気かーい? ぼくは普通です。 きょうはみんなでログをう゛ぁーてぃかるぱみゅぱみゅしちゃうぞ!あ、こんにちは bayashi です。 さて、ログは見てるかい?cat してるかい? tail してるかい? GB単位のログを vim で開いてフリーズさせてやいないかい?ログは吐いたら終わりじゃいけないぜ!ちゃんとうぉっちしないと鬼がでちゃうぞ!! とはいえ、そんなログも、たいていは1行につらつらと書かれてて見るのがつらいね!!例えばこんなやつだ。 $ tail log 127.0.0.1 - bayashi [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.0 (compatible

    App::YG - ログをう゛ぁーてぃかるぱみゅぱみゅしちゃう!! - Articles Advent Calendar 2012 Hacker
    yassan0627
    yassan0627 2016/03/17
    ログを縦に分割して見やすくするモジュール。これは便利そう。 #perl
  • 楽にDarkPAN作れるOrePAN2::ServerでCPAN Authorになったよ! | hirobanex.net

    DarkPANをOrePAN2ベースでサーバーとして立ち上げられるOrePAN2::ServerなるものをsongmuさんとCPANにあげたとももに、それによってCPAN Authoerになったことを謹んでご報告いたします。で、使い方とか個人的な回想録をば。 DarkPANとかOrePAN2って何?メリットとラストワンマイル DarkPANとはCPANにあげられないモジュールや、CPANにアクセスできない環境で、CPANモジュールをキャッシュ的にためておく社内用のCPANミラーのことです。OrePAN2は、DarkPANを作成できるコマンドラインツールで大変便利にできています。 ただ、OrePAN2はサーバーではないので、cpanm,cartonから落とすにはplackupするなりApacheとかNginxとかかませる必要があるし、プッシュも、SSH経由でOrePAN2のコマンドをたたいた

  • Plack/PSGIなwebアプリケーションの実行環境 - 目の前に僕らの道がある

    この記事は、モバイルファクトリー Advent Calendar 2015 11日目の記事です ※ 投稿内容は私個人の意見であり、所属企業・部門見解ならびに技術戦略を代表するものではありません。 昨日は@rymizukiさんのnpmライブラリの運用と管理についてでした。今日はPerlの話です。 お仕事やプライベートでPerlのwebアプリケーションを書くことが多く、いろいろ知見が溜まってきてるので、ここで少し紹介しようと思います。 今回はPlack/PSGIなwebアプリケーションの実行環境の話です。mod_perlなアプリケーションとはちょっとコンテキストが違います。 少しかっちりコンテキストに近いです。個人で軽くwebアプリケーション立てるならもう少しゆるふわでも問題ないはずです。 OS UbuntuのLTSを使うことが多いです。Ubuntu前提の内容が後に続きます。 Perl Sys

    Plack/PSGIなwebアプリケーションの実行環境 - 目の前に僕らの道がある
  • モダンなPerlの書き方を学習できる技術書「Modern Perl」の電子書籍版が無料で入手可能に | ソフトアンテナ

    モダンなPerlの書き方を学習することができる英語技術書「Modern Perl Fourth Edition」のeBook版が、現在無料で配布されています(Hacker News、Reddit)。 配布元はThe Pragmatic Bookshelfというサイトで、怪しいサイトではありません。以前から紙版と電子書籍版の技術書をペアで格安販売する試みを行っていて、Modern Perlの場合「eBook + Paper」は34ドル、「Paper Book」が34ドル、「eBook」がFree!となっています。 実際、サイトに登録しさえすれば無料でダウンロードできます。 eBook版は、epub、mobi、pdf形式がダウンロードできました。 「Modern Perl」はPerlの哲学から、実務に役立つ実践的なコードまでPerlを徹底的に解説した技術書です。著者のchromatic氏はP

    モダンなPerlの書き方を学習できる技術書「Modern Perl」の電子書籍版が無料で入手可能に | ソフトアンテナ
  • 第25回 cron周りのベストプラクティス(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはsongmuさんこと松木雅幸さんで、テーマはcronです。 なお稿のサンプルコードは、誌サポートサイトから入手できます。 cronとは? cronは指定日時にジョブの自動実行を行うジョブスケジューラです。UNIX系のOSであれば実装の違いこそあれ、ほぼ標準でインストールされています。 作業自動化や、タスクを自動実行したいなどといった場合にcronは避けては通れません。Perlでバッチ処理を書く際などに多くの人が活用していると思いますが、ベストプラクティスがわからず恐る恐る使っている人も多いのではないでしょうか。 稿では、cron活用におけるベストプラクティスについてお話します。 cronの使いどころ cronの使い途は、主に次の3つが考えられます。 a.アプリケーションのジョブの実行 b.システムに関わる

    第25回 cron周りのベストプラクティス(1) | gihyo.jp
  • CPANモジュールのディレクトリ構成について - Masteries

    ほぼ1年ぶりの開催になってしまった五反田Perlで, CPANモジュールのディレクトリ構成についての話題が出たので, 自分の理解をアウトプットしておこうと思います. lib / t もはや説明不要ですが, libディレクトリにはモジュール体, tにはそのモジュールのテストを配置します. Minillaなどを使ってモジュールの雛形を作った場合, 最初から作られていますので, 見たことのある方は多いのではないでしょうか(?). xt いわゆる「Authorテスト」を設置するディレクトリです. 例えばPOD(モジュールのドキュメント)関連のテストやPerl::Critic/Perl::Lintによる静的解的テストなどを設置することが多いです. share Webアプリケーションなどをモジュールとして配布する際, CSSJavaScriptなどを同梱したい場合にはこのディレクトリに設置します.

    CPANモジュールのディレクトリ構成について - Masteries
  • PerlでJSONを生成するときにJSONのキーの順番をソートする - Masteries

    今日はJSON.pmの小ネタをお送りします. ...といっても割と既知な情報では? という気がしているのですが, 自分は知らなくて10分くらいJSON.pmのドキュメント読んだりしてやっと見つけたので, 備忘録的に残しておきます. さて, JSON.pmを使って, 普通にPerlのハッシュによるデータ構造をJSONに変換しようとすると, 生成されたJSONのキーの順序は生成する度に異なる順序になってしまいます. use strict; use warnings; use JSON qw/ encode_json /; my $json = encode_json({ a => 1, b => 2, c => 3 }); print "$json\n"; 例えば, このコードをPerl 5.20で実行すると... $ perl json.pl {"c":3,"a":1,"b":2} $ pe

    PerlでJSONを生成するときにJSONのキーの順番をソートする - Masteries
  • Perl5.10以降に追加された機能で良く使うお役立ち機能まとめ | Hachioji.pm 日めくりテックトーク

    Songmuです。 Perlは5.10以降多くの機能が追加されていますが、巷のCPANモジュールの多くは5.8と互換性を保って書かれていることもあり、普段その機能を目にしない人も多いでしょう。僕自身のCPANモジュールも多くは5.8.1以降対応ですが、最近手元で動かすようなものに関しては5.10.1対応にすることも増えてきましたがそれでも、5.10.1止まりです。 実際のプロジェクトにおいては5.10以降の機能も使えるものは積極的に使っているのでその辺りの話。 say: 改行付きprint (5.10) printしてその後に改行を入れてくれる関数です。地味に便利です。 use 5.010; say 'Hello'; # Hello ワンライナーでも -E スイッチで使えるようになるので近年は-eを使わずに専ら-Eです。 % perl -E 'say "Hello"' Hello //:

  • Perl Hackers Hub:連載|gihyo.jp … 技術評論社

    最終回 Carmelによる依存モジュール管理 CPANモジュールの更新を高速⁠⁠、安全に(2) 宮川達彦[著],牧大輔,福貴之,松木雅幸,大沢和宏[監修] 2023-10-17 最終回 Carmelによる依存モジュール管理 CPANモジュールの更新を高速⁠⁠、安全に(1) 宮川達彦[著],牧大輔,福貴之,松木雅幸,大沢和宏[監修] 2023-10-16 第79回最近Perlに追加された実験的機能 try文⁠⁠、defer文⁠⁠、class文(2) 石垣憲一[著],牧大輔,福貴之,松木雅幸,大沢和宏[監修] 2023-08-18

    Perl Hackers Hub:連載|gihyo.jp … 技術評論社
  • 第10回 ジョブキューで後回し大作戦―TheSchwartz、Qudo、Q4M(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはnekokakさんこと小林篤さんで、テーマは「ジョブキューで後回し大作戦」です。 ジョブキューとは 一時代前は時間のかかる処理もすべてWebアプリケーションで行っていましたが、最近ではいろいろな部分で処理の非同期化が行われるようになってきました。たとえばWebのインタフェース側ではAjaxがその最たるものでしょう。アプリケーションのバックグラウンド側でも今回のテーマであるジョブキューと呼ばれるしくみが多く利用されるようになりました。ジョブキューを賢く上手に利用することで、ユーザにストレスを与えることなく、またサーバのリソースも有効に使えるようになります。 ジョブキューは延々と動き続けるバッチ処理、というイメージが最もわかりやすいでしょう。通常のバッチ処理であればcrondを利用し、一定周期でプログラムを起動して

    第10回 ジョブキューで後回し大作戦―TheSchwartz、Qudo、Q4M(1) | gihyo.jp
  • Qudo, daemontools, capistranoを使ってWorker処理の仕組みを作る - $shibayu36->blog;

    最近PrePANの開発を手伝っていて、Workerの仕組みをQudoで作りました。初めてWorkerの仕組みを一から作ったのでメモしておきます。 Worker処理に必要な部品、それぞれのQudoでの実装、Workerプロセスを管理するためのdaemontools、capistranoでのdeployという順番で書いていきます。 Workerとは ざっくり言うと非同期に色々実行するための仕組みです。perlだとTheSchwartz、Qudo、Jonkとかがあります。 Worker処理に必要な部品 今回作ってみて、Worker処理は大きく分けて次の三つくらいのものが必要だと分かりました。 ApplicationからJobをinsertする部分(Qudo) 実際のJobの処理(Qudo::Worker) Jobの実行を管理して、Jobに処理を委譲する部分(Qudo, Qudo::Paralle

    Qudo, daemontools, capistranoを使ってWorker処理の仕組みを作る - $shibayu36->blog;
  • 第34回 DockerによるPerlのWebアプリケーション開発(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは、普段ははてなPerlで書かれたWebサービスを運用している@y_uuk1こと坪内佑樹さんで、テーマは「DockerによるPerlのWebアプリケーション開発」です。Dockerを用いてPerlのWebアプリケーション開発環境を構築するメリットやノウハウを紹介していきます。 稿のサンプルコードは、WEB+DB PRESS Vol.88のサポートサイトから入手できます。 Dockerとは何か 題であるPerlのWebアプリケーションとDockerの話に入る前に、Dockerを初めて触る人のために、Dockerそのものについて簡単に紹介します[1]⁠。 最近はDockerの話を頻繁に見聞きする一方、「⁠結局、何を目的として、どのような方法で、何をするものなのかがよくわからない」という話も耳にします。「⁠Doc

    第34回 DockerによるPerlのWebアプリケーション開発(1) | gihyo.jp