タグ

Perlに関するkyouzontのブックマーク (12)

  • いやなブログ: 配列操作の比較表: Ruby, Python, JavaScript, Perl, C++

    配列操作の比較表: Ruby, Python, JavaScript, Perl, C++ プログラムを書いていると、他のプログラミング言語の記憶とごっちゃになって、「配列の後ろに要素を追加するのは push だっけ、 append だっけ」などと混乱することがあります。特に Ruby, Python, JavaScript はコードの書き方が似ているので、この問題が起きがちです。 そこで、備忘録として、 Ruby, Python, JavaScript, Perl, C++ の配列操作の比較表を作りました。一番慣れている Ruby を基準にしています。間違いなどがあったらご指摘いただけると助かります。他の言語のもあるといいなあ。 Ruby (Array) Python (list) JavaScript (Array) Perl (@) C++ (std::vector)

  • コアドキュメント - perldoc.jp

    概要 perl - Perl 5 言語インタプリタ perlintro - Perl の概要 perlrun - perl コマンドの実行とオプションについて チュートリアル perlreftut - Perlのリファレンスの短いインストラクション perldsc - Perl のデータ構造クックブック perllol - Perl で配列の配列を操作する perlrequick - Perl 正規表現のクイックスタート perlretut - Perl の正規表現のチュートリアル perlootut - Perl の初心者向けオブジェクト指向チュートリアル perlperf - Perl の性能と最適化のテクニック perlstyle - Perl スタイルガイド perlcheat - perl チートシート perltrap - 不注意による Perl の罠 perldebtut -

  • Perlでマルチスレッド

    2003年3月15日 (土) - Perl ithreads 休日なので、 Perl 5.8.0のマルチスレッドプログラミングで遊ぶ。 use v5.8.0; use strict; use threads; my $thread1 = threads->new(\&main, "One"); my $thread2 = threads->new(\&main, "Two"); $thread1->join; $thread2->join; print "done.\n"; sub main { my ($name) = @_; for (1..10) { print "I am $name ($_)\n"; threads->yield(); } } 以下が実行例。 I am One (1) I am One (2) I am Two (1) I am One (3) I am Two

  • Perl の iThread 使って負荷試験ツールを書いてみた

    えーっと、最近のお仕事でデータベース関連やってまして、DBMS としての性能試験みたいなのを実施したくて(しなくてはいけなくって・・・)、Perl で作ってみました。 いや、Apache bench とか使ってもいいんですが、httpd のメモリ使用量とかも馬鹿にならないので、Perlithread 使って書いてみることにしました。 →Perlithread 使うとメモリ一杯使うので、結果的に同じだったけど・・・(苦笑 プログラムの構造は、producer & consumer モデルってやつの応用です。具体的にはこんな感じ。 で、負荷スクリプトを走らせている間にデータベースサーバの負荷を vmstat なり、sar なりで計測すればOKです。キューに投入するリクエスト数(producer スレッドの enqueue 数)や処理スレッド数(consumer スレッドの数)を増減

  • Perlのithreads(iスレッド)に関するメモ

    Perlithreadsについて ithreadsに関する日語のサイトがあまりないので、何か適当にメモっておきます。 基 サンプル 留意点(重要な基事項) できるだけ最新のPerlで使おう スレッドのコンテキスト スレッドと値 オブジェクトの共有 オブジェクトは二度(以上)死ぬ Windows上でのdetach 特別なサブルーチンCLONEについて マルチスレッドにおけるrand()の使用 スレッドにおけるシグナル処理 関連情報 モジュール その他 forkによるthreadsのエミュレート cond_timedwait なぜかスレッドの生成に時間がかかる時があるのですが… Thread::Queueについて CLONEサブルーチン マルチスレッドにおける再現性のある乱数列 Thread::TieをWIN32 with activeperlで使う スレッドが生きているかどうかのチェ

  • Perlのアレコレ

    結論からいえば、bash にできて Perl にできないことはありません これは極論かもしれませんが、bash はファイル操作のみに重きをおいています。ですから、扱う単位がファイル単位です。つまり「このファイルの中に test という文字列があったら」という条件分岐ではなく、「このファイルのパーミッションがこうだったら」「このファイルの更新日時がこうだったら」のような扱いをすることになります。 bash における処理対象がこのようなものであることから、ファイルの中身をいじるようなプログラムは bash 単体では難しいということが分かってもらえると思います。 1章でも述べたように bash の主な使用目的はファイル単位の操作です。サンプルプログラムのほとんどもファイル操作です。 cut コマンドを使った CSV ファイルの処理は行いましたが、あくまでも ReadOnly でした。文字列の置換

  • Minimaru Perl

    kyouzont
    kyouzont 2012/04/22
    grepとPerlにおける正規表現のコマンド記法の比較が掲載されている。
  • 可変長テキストの戻り読み - 考える人、コードを書く人

    なんだか最近、正規表現ネタが多い気がするが、仕事では当によく使う*1ので、 必然的にそんな話が多くなってしまうのかもしれない。 そして平日の昼間は+とか*とか(?<=)とか(?:)みたいな記号が僕の頭の中を駆け巡っていたりする。 いや、もちろんそんなことばっかりやってるわけじゃありませんが。 文字列を指定の位置に挿入する Perlやその他巷でよく使われている(?)言語に搭載されている正規表現エンジンには 文字列の指定の位置に文字列を挿入するために、先読み(?=)と戻り読み(?<=)の機能がある。 この2つは指定した文字列自体ではなく、文字列の位置にマッチする。 例えば、次の場合、$strの中身はabcdefghiとなる。 <?php $str = 'abcghi'; $str = preg_replace('/(?<=abc)/', 'def', $str); ?> しかし、次のように可

    可変長テキストの戻り読み - 考える人、コードを書く人
    kyouzont
    kyouzont 2012/04/22
    なるほど。
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • CPAN経由でLinuxにモジュールを組み込む

    Perlのモジュールをインストールしよう! サーバーにPerlの各種モジュールをインストールするには、CPAN を使うと超ラクチンです。 ここでは、サーバーにモジュールをインストールするためのツール、CPANの設定方法と、その使い方を解説します。 このセクションは、Linuxサーバー向けに書かれております。 CPANとは 「モジュール(機能のかたまり)」を簡単にインストールしてくれるシステムです。* 自動的に、モジュールの最新ソースファイルを取って来て、コンパイルし、インストールし、依存関係も解決してくれる優れものです。 CPANの環境を設定する CPANのスクリプトはたいていのLinuxディストリビューションに標準で入っています。 ただし、まずは設定が必要です。楽をするためには、それなりの努力がいるようです…。 shell(コマンドライン)で、以下の通り打ちま

  • ロックファイルを考える

    CGIでファイルを操作すると、しばしばデータが消失することが有ります。 これは、同時アクセス(書き込み)による衝突です。 他の多くのサイトでもこれを避ける方法が紹介されていますが、私の経験上どれも不十分で、 現に有名サイトのカウンタさえ破壊されていることがしばしばです。 このコーナーでは、衝突しない。万が一衝突してもデータを破壊しないロック機能を考えてみましょう。 現在もっとも採用されているロック機能 foreach (1 .. 10) { if (symlink($datafile,$tmpfile)) { last; } sleep(1); } open(OUT,"$datafile) || die "Can't open tmp file.\n"; print @DATA; close(OUT); unlink($tmpfile); このコードを1つずつ解析してみましょう。 fore

    kyouzont
    kyouzont 2011/07/30
     http://x68000.q-e-d.net/~68user/webcgi/lock.html などのサイトと比較しつつ読む。
  • Perlで作るCGI講座 - 入力フォーム編(GETとPOSTデータを受け取るには) - futomi

    CGI を作成する上で、テキストボックスやラジオボタンなどのフォームに入力、選択された状態を取り込むことは避けてとおれません。 ここでは、入力フォームのデータをどのように CGI で取り込むのかを紹介します。 初心者向けに冒頭でで GET と POST についても解説します。 目次 HTTP メソッド フォームデータをサーバーに送信する方法 (メソッド) には GET メソッドと POST メソッドがあります。 HTTP プロトコルでは、他に PUT メソッドや DELETE メソッドも規定されていますが、 ブラウザーで利用できるのは GET メソッドと POST メソッドの 2 つだけです。 GET メソッドやは、HTTP/0.9 から規定されており、当時ではデータをサーバーに送信する唯一の手段でした。 今でもデータ送信手段として使われていますが、送信データが URL としてブラウザーの

  • 1