安定的な Perl アプリケーション運用のための perlbrew 運用テクニック 前提知識 Perl5 は minor version 間ではバイナリ互換性が保証されている Perl5 の minor update では、bug fix しか基本的に行われない Perl5 Porters の保守的さ度合いは信用できる perlbrew でセットアップするときに気をつけること インストール名をデフォルトの perl-5.16.3 などとせず、perl-5.16 と minor version を含めないようにする。 例: perlbrew install perl-5.16.2 --as perl-5.16 セキュリティフィックスがでた場合の処理 chromaticの記事で知ったのだが、perlbrew には upgrade-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 . ''; と等価です。 ベビーカー演算子: @{[ ]} 文字
☆plenv☆ 〜 brand new perl5 installation management tool♪ 〜 Hi, I implemented brand new perl5 installation management tool named plenv. from rbenv plenv is inspired from rbenv, from ruby world. rbenv provides a missing feature in perlbrew, it can use .ruby-version file to manage project local perl module. Use .perl-version!! With plenv, when you put a .perl-version file to ~/dev/MyProj/.perl-version
@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 にかわ
整理するためのメモ。 よくある問題: プロジェクトごとの依存モジュールの管理 全環境共通でインストールするとモジュールのバージョンが分けられない local::libやcartonを使ってプロジェクト専用のインストール領域を作るのが良い しかし実行するPerlのバージョンが違うと動かなかったりするし だったらPerlそのものもプロジェクトごとに管理した方が 同一アーキテクチャの複数サーバにデプロイするときも1箇所で環境作ってディレクトリ丸ごとrsyncで済むし というわけでプロジェクト専用のPerlをperlbrewでインストールして使おう ビルドに時間かかったりもするけどまぁ最初の一回だけだし我慢 手順 既にperlbrew自体は標準の方法でインストールしておいていて使えてる、という前提で $ cd <PROJECT_ROOT> $ export PERLBREW_ROOT=${PWD}
簡単だろうと思って始めてみたら意外とハマった。。。例えばネットワーク機器の設定確認とかで、ロードバランサ経由でアクセスしてみてちゃんとアクセスが来てるか確認したい時に、人力だったらターミナル開いてアクセスログをtail -fしといてcurlとかで叩いて「きたきた」ってやって終わりでいいと思うんですが、台数がべらぼうに多いときとかムリポ。 そこで、サーバにsshしつつtail -fを発行してアクセスログをフェッチしつつ、grep的なことをして目的のログが来たら終了、みたいな処理を考えてみた。方針はたぶんこの 2 種類。 sshで渡すコマンドでgrepして目的の行が出たらsshが終了するようにしておく 目的の行は perl で探して、見つけたらsshのプロセスにシグナルを送る なんでこんなめんどくさいことが必要かというと、tail -fは明示的に殺すまで基本的にはずっと動き続けるので、なんらか
Perl中級者への道 (近藤 嘉雪, at PerlCasual #4)AI-enhanced description The document appears to be a Perl programming reference or tutorial authored by Yoshiyuki Kondo, focusing on various aspects of Perl, including the use of strict and warnings, input/output operations, references, and dereferencing techniques. It provides code examples and comments to illustrate proper coding practices in Perl. The documen
(追記あり) 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 › 基礎文法 ITの現場でPerlが必要になって、今勉強しているという方はおられませんか? 他の言語をある程度知っている方が「Perl基礎文法最速マスター」を読めば、Perlの使い方の基礎をマスターしてPerlを書くことができるようになっています。 基礎 文法チェック 文法をチェックを厳しくするために最初に必ず次の2行を書くようにします。 use strict; use warnings; 「use strict」と「use warnings」という2行を加えることで事前に文法チェックが行われるので、ソースコードを記述する作業は速くなり、コードの品質が上がります。 print関数 文字列を出力するにはprint関数を使用します。 print "Hello world"; Perlでは標準関数や事前に定義されている関数で括弧を省略することができます。 コメント Perlのコメントで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く