タグ

perlに関するbk246のブックマーク (26)

  • 現代的な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入門ゼミ
  • 開拓者から改革者へ ネタで未来を切り開く男 大沢和宏

    開拓者から改革者へ ネタで未来を切り開く男 大沢和宏:New Generation Chronicle(2/6 ページ) 頭に浮かんだネタを実際に世に送り出すために、大沢氏はコードを操る。BasicからCGIとしてのPerlPHPと操る言語を変えてきたが、もっとも頼りになる相棒として選んだのは、Perlだった。 ―― はじめてPCやプログラミング言語に触れたのはいつごろですか? 幼稚園か小学校1年生のころで、たぶん近所のジャスコのMSXとかじゃないですかね。ワープロとかと同じノリで店頭に並んでいて、それで遊んでいたのだけは覚えてます。小学校低学年当時は、こどもの城でMSX使いたい放題コーナーがあったので、そこでBasicを打ち込んでました。もちろん家にはPCとかないので、週末遊びたいゲームを自宅で作文用紙に手書きしていましたね。脳内インタプリタ、脳内デバッガをフル活用して番に臨んでいま

    開拓者から改革者へ ネタで未来を切り開く男 大沢和宏
    bk246
    bk246 2008/06/18
    小飼弾邸2個分(これをDan the House x 2と表記する)くらいの広さのコンピュータ関連書籍コーナーだとベストです。
  • モダンなPerl入門 - モダンなPerl入門

    目次 Perlの概要 なにか なにか バージョン ラクダ画像とPerl 環境別インストール 基礎的なperldocコマンド 変数 スカラー(文字列・数値) 配列 ハッシュ リファレンス 条件分岐 if / elsif / else ループ foreach while デバッグ手法 print warn Data::Dumper YAML XXX ファイル操作 open() IO::File Path::Class stat() / -f / -d / -e / -x サブルーチン プロトタイプ 正規表現 メタキャラクター キャラクターセット データ tie Storable Encode 入出力の考え方 ワンライナー データベース DBI mysql PostgreSQL SQLite オブジェクト bless モジュール CPAN 各OSでのCPANのつかいかた WindowsでCPAN

  • DeNA、「モバゲー」のウェブアプリフレームワークをオープンソースとして公開

    ディー・エヌ・エー(DeNA)は5月16日、「モバゲータウン」などで利用している、携帯電話向けウェブアプリケーションのフレームワークをオープンソースとして公開した。オープンソースの成果物を配布するサイト「SourceForge.JP」にて公開している。 このフレームワークは「MobaSiF(Moba/Mobile Simple Framework)」と名づけられている。DeNA取締役で、モバゲータウンなどを開発した川崎修平氏が手がけたものだ。 MobaSiFには携帯電話向けサービスで共通に使えるモジュールが組み込まれている。具体的にはNTTドコモ、au、ソフトバンクモバイルの3キャリアに対応した絵文字変換機能や、ユーザーの利用キャリア、利用機種の判別機能がある。テンプレートエンジンも搭載しており、1つのコードで3キャリアに対応したサービスが構築できるという。携帯電話向けのメール配信機能につ

    DeNA、「モバゲー」のウェブアプリフレームワークをオープンソースとして公開
    bk246
    bk246 2008/05/20
    絵文字変換機能や、ユーザーの利用キャリア、利用機種の判別機能
  • Perl入門

    プログラミング言語として Perl を使った方法を学習される方を対象として、 Perl によるプログラム記述方法について解説します。 Perl のプログラミングとしては CGI として Web サーバと連携した利用方法がよく使われますが、まず単独で動作するプログラムの作成を通して Perl の文法などについて学習していきます。

    Perl入門
  • Kazuho@Cybozu Labs: Perl から MySQL に非同期アクセスする方法

    « サーバシグニチャは隠さないのが当たり前 | メイン | swifty-0.02 と Perl バインディング » 2007年09月10日 Perl から MySQL に非同期アクセスする方法 mod_perl のプロセス内でやるのに POE でイベントループ回せ、ということ? もうちょいkwsk! > b:id:kazuhooku naoyaグループ - naoyaの日記 - 非同期SQLサーバ エントリ全体の趣旨はさておき、ソケット通信を非同期化するためにまた別のソケット通信を行うという使用例に違和感を覚えたのですが、回避策としてブクマコメントで提示した POE::Component::EasyDBI も内部で fork (&プロセス間通信) してるんですね。変なコメントしてごめんなさい忘れてください。って、それだけではなんなので... ここから題。 私はそういうケースに遭遇したこ

  • inetd の仕組みを見てみる - naoyaのはてなダイアリー

    inetd や xinetd (以下 inetd) はインターネットサービスをデーモン化するのに共通している処理を担い、ほとんどの時間をアイドル状態で過ごすその手のサービスに必要なリソースを節約する役割を果たします。 inetd のひとつ面白いところは、inetd でサービス化したいプログラムの標準入力/標準出力がクライアントソケットの入出力に接続されるところです。例えば daytime 相当のサービスを自分で作ろうと思った場合 #!/usr/local/bin/perl # daytime.pl use strict; use warnings; use DateTime; use IO::Handle; STDOUT->autoflush(1); STDOUT->printf( "%s\n", DateTime->now(time_zone => 'Asia/Tokyo') ); と標

    inetd の仕組みを見てみる - naoyaのはてなダイアリー
    bk246
    bk246 2007/08/02
    Perl で実装。inetd ならぬ pnetd。
  • Perl, Python, Ruby の比較

    コードの書きやすさは3つともそれほど違わないように思えます。ただ、読みやすさはダントツで Python が 優れています。Ruby はまずまずで、Perl は書き手の技量による部分が大きいのですが、 一般的には "読めない" コードになりがちです。 現在の人気を無視して、言語そのもののよしあしを考えると、 PythonRuby はほぼ互角でしょう。しかし、今のところ Python の方が、 実行速度が速く、ライブラリが豊富なので、とりあえず Python を使うことにします。 また、Python には対話モードがあるのも Lisp に慣れた人間にとってはありがたいです。 Ruby は今後の健闘に期待します。 5. おわりに 以上 Perl, Python, Ruby の比較をつれづれと書きましたがご参考になりましたでしょうか? 結論は、 Python, RubyPerl に比べ

  • Yahoo! が PHP エンジニアを雇う時に聞く質問

    via.Yahoo!PHPエンジニアを雇う時に聞く質問 | IDEA*IDEA とりあえず適当に訳してみました。間違いがあれば指摘をお願いします :-) 1.配列usersに「john」を追加しないのはどれか? 1. $users[] = ‘john’; 2. array_add($users,’john’); 3. array_push($users,‘john’); 4. $users ||= ‘john’;2. sort(), assort(), ksort()の違いを述べよ。また、どういった状況で利用するかを述べよ。 3. 以下のコードは何を出力するか?それはなぜか? $num = 10; function multiply(){ $num = $num * 10; } multiply(); echo $num;4. 参照と通常の変数の違いを述べよ。また、どのように参照渡しをす

    Yahoo! が PHP エンジニアを雇う時に聞く質問
    bk246
    bk246 2007/05/30
  • Perlメモ

    複数のプロセスでロック状態が異常であると判断し,そのうちの 1つがロックを解除したことにより,別のプロセスがロックしたにもか かわらず,先ほどロック状態が異常であると判断したプロセスによってこの正常なロッ クを解除されてしまう可能性があります. この方法の問題点は,異常なロック状態を解除する操作が正常なロック状態をも 解除できてしまうことにあります.逆に言えば,異常なロック状態を解除する操作に よって正常なロック状態を解除できなければ問題ないわけです.そのためにはどうす ればよいのか? 答えはロック状態が常に変化していけば よいということです.そして,これを実現するのに都合がよいのが rename による方法になります. 最初のスクリプトで説明しますと,ロックファイルが lockfile という 名前のときがロックが解除されている状態で,lockfile987654321 のよう に後ろに

    Perlメモ
    bk246
    bk246 2007/05/11
    メールアドレスの正規表現
  • Perl 標準入力と utf8

    Perl 標準入力と utf8 2007-02-07-1 [Programming] 自戒を込めた自分用メモ。 基レベルの話だろうけど、はずかしながらちょっとはまってたので。 test.pl : #!/usr/bin/perl use strict; use warnings; use Encode; use utf8; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; while (<>) { print if (/[ぁ-ん]/); } というコードを書いた。 しかし、 test.pl < utf8.txt は行けるが、 test.pl utf8.txt はだめ。 で、こうした。 #!/usr/bin/perl use strict; use warnings; use Encode; use utf8; binmode STDOUT,

    Perl 標準入力と utf8
  • [を] Perl 標準入力と utf8

    Perl 標準入力と utf8 2007-02-07-1 [Programming] 自戒を込めた自分用メモ。 基レベルの話だろうけど、はずかしながらちょっとはまってたので。 test.pl : #!/usr/bin/perl use strict; use warnings; use Encode; use utf8; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; while (<>) { print if (/[ぁ-ん]/); } というコードを書いた。 しかし、 test.pl は行けるが、 test.pl utf8.txt はだめ。 で、こうした。 #!/usr/bin/perl use strict; use warnings; use Encode; use utf8; binmode STDOUT, "

    bk246
    bk246 2007/02/09
  • 国産PerlフレームワークTripletaiL - うさぎ文学日記

    TripletaiL CSRF対策MLのseasurfersで流れていたので、次に使ってみたいPerlフレームワークです。(今は、Catalyst) 学習時間が短くさっくり組めて、日語処理も意識せずにバッチリできて、セキュリティも結構大丈夫なフレームワークなようです。 Perldocもいきなり日語でした。(やっぱ日語は読みやすいわ。w) PODを流し読みしたけど、Webアプリケーションを組む上で必要な機能は一通りは揃ってるようです。 独自のクッキー管理とかセッション管理(どっちもちゃんと、httpとhttpsを区別してる!)がヨサゲ。memcached推奨ってのも私好み。 Catalystとかと違って、ヘルパースクリプトで生成するタイプではないようですが、ここまで充実していると、別にヘルパースクリプトに頼る必要がない。 ちなみに、こんな環境で動作するそうです。 Linux + Per

    bk246
    bk246 2006/09/13
  • PHP・Perl各種テンプレートエンジンの処理速度比較

    はじめに 最近のWEBアプリケーションではテンプレートエンジンと呼ばれる仕組みを用いてHTML表示を行うのが主流になっている。 テンプレートエンジンとは、 print "<html>"; print "<h1></h1>"; print "</html"; のように、print()で直にHTMLを出力するんじゃなくって、 <html> <h1>[% mesg %]</h1> </html> のようなテンプレートファイルを用意し、それをスクリプトで読み取り、整形加工し、HTMLとして出力する仕組みのこと。 テンプレートエンジンを用いることで、HTMLの見た目の修正に必要なのはテンプレートファイルだけになり、メンテナンス性が向上する。 PHPPerlの代表的なテンプレートエンジンはどの程度の処理速度を持つのか、検証してみた。 対象のテンプレートエンジン Perl HTML::Templa

    bk246
    bk246 2006/08/03
  • antipop - Perl の学習コストを大幅に軽減するスゴイ方法

    にわかに Perl の学習コストについて優れた Perler のみなさんがあれこれ述べておられるので、大変勉強になります。 Unknown::Programming - 新人教育 SQLAlchemy Database Engines 日記。 (TokuLog) - Perl は学習コストが高すぎる naoyaグループ - naoyaの日記 - Perl の学習コスト SQLAlchemy Database Engines 日記。 (TokuLog) - Perlの学習コストとライブラリ naoyaグループ - naoyaの日記 - アンテナ張りまくらないとの件 subtechグループ - Bulknews::Subtech - Perl、アンテナの話 Charsbar::Note - Perlの学習コスト 上記にリンクしたエントリをまとめると、オールドファッションな書き方であれば Per

    bk246
    bk246 2006/05/09
  • 404 Blog Not Found:perl -勝手に添削 - WEB DB Press Vol.32 pp.94

    2006年04月22日15:00 カテゴリWEB+DB PRESSLightweight Languages perl - 勝手に添削 - WEB+DB Press Vol.32 pp.94 というわけで、突然はじまりました勝手に添削のコーナー。 WEB+DB PRESS 今回は、WEB+DB PRESS Vol.32の「Yahoo! Web サービス活用ガイド」から。 私もWEB+DB Pressへの連載をはじめたので、同誌のますますの(反映|繁栄)を祈ってやまないのだけど、それだけに、同誌にこういうサンプルコードがあるのは気になる。一応きちんと動くので、blogとかのentryであればこれでもよいのだけど、この手の雑誌はかなり長い間保管され、読者に何度も参照されることを考えれば、「その後」のことを考えて推敲しておく方がいいだろう。Damianも言っていたように、「ソースコードは未来の自

    404 Blog Not Found:perl -勝手に添削 - WEB DB Press Vol.32 pp.94
    bk246
    bk246 2006/04/25
  • 4-2. Perl の危険な関数

    Perlには他のプログラムを起動したり,文字列で与えられた式を実行時に解釈実行する機能を持つ関数が用意されている。こうした関数に与える引数は,十分に吟味しないと,悪用されて意図しないコマンドを実行させられる。 Perlには外部プログラムとの連携機能が複数組み込まれている。Perlは連携機能を実現するため内部的にUnixシェルを起動する(注1)。そのため連携機能をユーザ入力データなどの外部から与えられるデータと組み合わせて使用する場合,外部からシェルコマンドを混入され実行されてしまう可能性がある。次の関数はこのような問題につながる注意すべき関数や構文である。 open system, exec, ``(backticks) <>(fileglob),glob C言語などのコンパイル系言語と異なりPerlはスクリプト系言語である。Perlは実行時にプログラムを解釈して実行する。eval

    bk246
    bk246 2006/02/27
  • [ThinkIT] 第2回:OSコマンド・インジェクションとクロスサイト・スクリプティング (1/4)

    Webアプリケーションによっては、外部からの攻撃により、WebサーバのOSコマンドを不正に実行されてしまう問題を持つものがあります。この問題を悪用した攻撃手法は、一般に「OSコマンド・インジェクション」と呼ばれています。 OSコマンド・インジェクションの脆弱性がある場合、悪意あるリクエストにより、Webサーバ側で意図しないOSコマンドを実行させられ、重要情報が盗まれたり、攻撃の踏み台に悪用される可能性があります。 OSコマンド・インジェクション攻撃を受けた場合、Webサーバに保存されている重要情報を不正に取得されたり、Webサーバが攻撃の踏み台として悪用される可能性があります。 OSコマンド・インジェクションの対策として、次の内容をご検討ください。 根的解決には「シェルを起動できる言語機能の利用を避ける」があります。 これは、OSコマンド・インジェクションの原因を作らない実装です。Web

  • CGI::Applicationを使ったアンケートプログラムの習作

    はじめに PerlのWEBアプリケーションフレームワークとして、CGI::Applicationというものがある。 これを使った簡単なアンケートプログラムを紹介する。 プログラムの内容 最初の入力画面で名前などを入力し、確認画面を経て、登録完了画面でデータを登録する。 間違った入力をした場合、確認画面には進まず、入力画面に強制に戻る。 入力画面 (XXXを入力してください) 確認画面 (内容を確認してください) 登録完了画面 (登録完了しました) ファイル構成 index.cgi コントローラー(すべてのユーザリクエストを受ける) config.cfg 設定ファイル tmpl HTMLテンプレートファイルの置き場 input.tmpl 入力画面のHTMLテンプレートファイル check.tmpl 確認画面のHTMLテンプレートファイル finish.tmpl 登録完了画面のHTMLテン

    bk246
    bk246 2006/01/27
  • 2006年1月 - Walrus, Visit.