タグ

perlに関するsnaflotのブックマーク (11)

  • すでに実行中のPerlScriptを多重起動しないようにしたい!(Proc::ProcessTable)

    イメージとしては、ps auxを叩いて同じ実行ファイルを探して、pid見て、その後の処理をするかどうか判定すればいいかなーって感じですかね。 で、ぐぐったら「Proc::ProcessTable」ってなモジュールがあったので、これ使ってみます。 use strict; use warnings; use utf8; use Proc::ProcessTable; my $p = Proc::ProcessTable->new(); # 起動した時のPID(自分自身のPID) my $pid = $$; # $p->tableで配列リファレンスが返るので、全部チェック。 for ( @{ $p->table } ) { # コマンドが「perl check.pl」+ pidが自分と違う -> 他のプロセスで実行中 -> 自身は終了 die if ( $_->{'cmndline'} =~ /

    すでに実行中のPerlScriptを多重起動しないようにしたい!(Proc::ProcessTable)
    snaflot
    snaflot 2016/11/25
  • 正規表現 - 2部 Perl言語仕様 - [SMART]

    正規表現の概要 正規表現は、Perlの中で最も重宝する機能のひとつです。正規表現にはテキスト処理のための様々な機能があり、文字列の中から特定のパターンを見つけ出したり、置換したりすることができます。 正規表現の基的な使用方法 たとえば、$strという変数に格納したデータの中から、「A」で始まって途中は何があるかわからないが最後が「E」という文字列を探したい場合、次のように記述することで、条件にマッチする文字列を見つけることができます。 $str =~ /A.*E/; 上記では、ドット( . )が改行以外の1文字を表し、アスタリスク( * )がその任意の文字の0回以上の繰り返しを意味します。このように、正規表現において特殊な働きを持った文字を正規表現演算子、またはメタ文字と呼びます。また、=~ はパターン結合演算子と呼ばれ、「左辺の値から右辺の値を検索する」という意味があります。 正規表現

    正規表現 - 2部 Perl言語仕様 - [SMART]
  • 変数に適切な名前をつけるようにしよう - Perl入門ゼミ

    Perl › 読み物 変数をよい名前にするとプログラムが読みやすくなります。 個人的な意見になりますが、変数名のつけ方について自分の考えていることを書いておきます。 変数名は意味のあるものにする。 変数名はすべて小文字で、単語のつなぎ目は _ (アンダーバー)を使用する。 変数名をどの程度詳細にするか 省略してもよい変数名 真偽値を表す変数の命名方法 配列の命名方法 (1)変数名は意味のあるものにする。 プログラミングで一番読み取りにくいのはコードを書いた人の意図です。 適切な変数名をつけることによって意図が伝わりやすくなります。 (a)変数に意味を持たせた場合 # この変数は何かの合計を格納するものだ my $total; # この変数は何らかのオフセットを表すものだ。 my $offset; # この変数はクライアント数の最大値を表すものだ my $max_client (b)変数に意

    変数に適切な名前をつけるようにしよう - Perl入門ゼミ
    snaflot
    snaflot 2013/07/26
  • Perl の基礎知識

    Perl の解説は、いろいろあるので、ここでは、 C言語を知っている人が Perl を使うことに重点を当てて比較しながら説明します。UNIX ユーザー対象なので正規表現についても知っているものとして説明します。ううむ、するとあまり書くことないかなあ... はじめに Perl は、インタプリタ言語で、記述された Perl プログラム(スクリプト)を perl コマンドが実行していきます。プログラムの記述は、ファイルの先頭に #!/usr/bin/perl というように perl コマンドを指定する必要があります。この記述は、Shell スクリプトと同じです。

    snaflot
    snaflot 2013/06/28
  • 現代的なPerlの記述方法一覧 - Perl入門ゼミ

    Perl › here Perl5.8以降における標準的なPerlの書き方を解説します。 インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍などの多くもPerl4の記法で書かれています。Perl4の記法は複雑になりやすく間違いを生みやすいのでこれからPerlを書く人はPerl5の現代的な記法で記述することを強くお勧めします。 strictプラグマとwarningsプラグマ (必須) strictプラグマとwarningsプラグマを有効にします。 use strict; use warnings; use strict;とuse warnings;の2行はスクリプトの最初に必ず記述してください。これらはPerlの文法チェックを厳しくするためのものです。面倒だという軽い気持ちでこれを記述しないと後々当に面倒なことになります。 use strict;とuse wa

    現代的なPerlの記述方法一覧 - Perl入門ゼミ
    snaflot
    snaflot 2013/06/28
  • Perlでssh tail -fして目的の行が来たら終了する - As a Futurist...

    簡単だろうと思って始めてみたら意外とハマった。。。例えばネットワーク機器の設定確認とかで、ロードバランサ経由でアクセスしてみてちゃんとアクセスが来てるか確認したい時に、人力だったらターミナル開いてアクセスログをtail -fしといてcurlとかで叩いて「きたきた」ってやって終わりでいいと思うんですが、台数がべらぼうに多いときとかムリポ。 そこで、サーバにsshしつつtail -fを発行してアクセスログをフェッチしつつ、grep的なことをして目的のログが来たら終了、みたいな処理を考えてみた。方針はたぶんこの 2 種類。 sshで渡すコマンドでgrepして目的の行が出たらsshが終了するようにしておく 目的の行は perl で探して、見つけたらsshのプロセスにシグナルを送る なんでこんなめんどくさいことが必要かというと、tail -fは明示的に殺すまで基的にはずっと動き続けるので、なんらか

    Perlでssh tail -fして目的の行が来たら終了する - As a Futurist...
    snaflot
    snaflot 2012/08/08
  • サイトのクローリングにはScrappyがすごくいいかもしれない - Perl勉強メモ アルパカDiary出張版

    クローリング楽しいですよね! perlで高速にクロールしたいのであればGunghoなど使うのがいいかもしれませんが、 基手軽にやりたいことが多いので WWW::Mechanize+Web::Scraper という組み合わせでクロールするのが定番でした。 しかしたまたま Scrappy を知り、 少し触ってみたところすごくいいのではないか!?と思い 記事にしてみました。*1 基系(crawlコマンドを利用する場合) my $scrappy = Scrappy->new; $scrappy->crawl('1.クロールするルートURL', '2.URLにマッチするパス' => { '3.コンテンツにマッチするxpath or CSSセレクタ' => sub { my ($self, $item) = @_; # 4.キューに追加 $self->queue->add($item->{href

    サイトのクローリングにはScrappyがすごくいいかもしれない - Perl勉強メモ アルパカDiary出張版
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • Perlゼミ(サンプルコードPerl入門)

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

    snaflot
    snaflot 2012/07/13
  • Perlゼミ(サンプルコードPerl入門)

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

    snaflot
    snaflot 2012/04/26
  • Perl one liner 集 perl 1行野郎

    Landscape トップページ | < 前の日 2003-06-03 2003-06-04 次の日 2003-06-05 > Landscape - エンジニアのメモ 2003-06-04 Perl one liner 集 perl 1行野郎 当サイト内を Google 検索できます * Perl one liner 集 perl 1行野郎この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Perl] - one liner、日語で言うと一行野郎いわゆる一行スクリプトを解説したページ。 昔はよく参照してたが、google をいくら探しても見つからない。 仕方がないので、ここに転載しておく。 - Internet Archive で見つけた。「perl でいいよ」 というページの一コーナーだったようだ。 http://web.archive.org/web/2

    snaflot
    snaflot 2012/01/24
  • 1