タグ

perlに関するkobakのブックマーク (49)

  • よく使用する関数・標準モジュール一覧 - Perl入門ゼミ

    Perl › よく使う関数・モジュール よく使用する関数・標準モジュールの一覧です。これらの関数を覚えておけば、Perlをより便利なものにすることができます。詳細な解説は避け、簡単なサンプルを紹介しています。戻り値のあるものについては$retという記号で表しています。 また、よく使用する特殊変数、標準モジュールについても、解説しています。各項目から、関数の詳細にもリンクしていますので、便利にご利用ください。 数学関数 文字列操作 配列操作 ハッシュ操作 ファイル入出力 ファイル・ディレクトリ操作 時刻・時間 その他の重要な関数 関数とモジュールのドキュメントの調べ方 よく使用する特殊変数 よく使用する標準モジュール 数学関数 abs 絶対値を求めるにはabs関数を使用します。 $ret = abs $num; abs(-3)は3になります。 sqrt 正の平方根を求めるには、sqrt関数を

    よく使用する関数・標準モジュール一覧 - Perl入門ゼミ
    kobak
    kobak 2009/09/07
  • TwiterとOAuthとperlでの実装 - Lazy Programmer :-p

    UmakatterにOAuthを利用した機能を組み込みました。 TwitterのOAuthなのですが、Net::Twitter を利用すると当に簡単に実現できます。こんなコードです。 OAuthアカウント作成 http://twitter.com/oauth_clients にて、アカウントを作成してください。 Net::Twitter::OAuthじゃなくてNet::Twitter::Role::OAuthの方の PODを読むと吉 Net::Twitter::Role::OAuth に書いてある通りにやると、とても簡単に実装できます。(Typoがいくつかあるので注意) OAuth認証へのリダイレクトしょり こんな感じで、リダイレクトする前に、token, token_secretをユーザのクッキーに保存しておきます。 my $nt = Net::Twitter->new( %{$con

    TwiterとOAuthとperlでの実装 - Lazy Programmer :-p
  • Kazuho@Cybozu Labs: Perl のテスト用に MySQL 環境を自動で構築するモジュール Test::mysqld を書いた

    ORM やウェブアプリケーション関連のライブラリなどのテストケースを書くにあたっては、 RDBMS へのアクセスが必要になります。しかし、SQLite のようなスタンドアローンのデータベースと比較すると、サーバ型データベースである MySQL に接続してテストを書くのは、既存の MySQL の権限設定やデータベース名を気にする必要があったりと、いろいろ不便です。そこで、MySQL のインスタンスをテンポラリディレクトリに自動生成し、テストが終わったら削除してくれる Perl モジュール Test::mysqld を書きました。こんな感じで使います。 use DBI; use Test::mysqld; use Test::More; my $mysqld = Test::mysqld->new( my_cnf => { 'skip-networking' => '' }, # TCP接続を

  • いやなブログ: 配列操作の比較表: 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)

  • いやなブログ - 文字列操作の比較表: Ruby, Python, JavaScript, P...

    文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)

  • WWW::Mechanize - Perlオブジェクト中のハンディWebブラウザ - perldoc.jp

    名前¶ WWW::Mechanize - Perlオブジェクト中のハンディWebブラウザ VERSION¶ Version 1.02 $Header$ 概要¶ WWW::Mechanize、あるいは縮めてMechはWebサイトとのやりとりの自動化を 助けます。これはリンク先やフォームデータの送信を含む、複数のページの取得を サポートします。取得したページはそれぞれ解析され、そのリンクやフォームが 抽出されます。リンクやフォームを選択し、フォームを埋め、次のページを取得 することが可能です。Mechは訪れたURLの履歴を保持しますので、これを問い あわせたり再訪することも可能です。 use WWW::Mechanize; my $mech = WWW::Mechanize->new(); $mech->get( $url ); $mech->follow_link( n => 3 ); $m

    kobak
    kobak 2009/07/17
  • Perlモジュール/WWW::Mechanize - Walrus, Digit.

    以下は、他サイトに掲載されている有用なWWW::Mechanize使用例です。 私自身、「Amazon アフィリエイトレポート」を見て、当にこのWWW::Mechanizeを使おう、と思いました。 Amazon アフィリエイトレポート(blog.bulknews.net)。 WWW::Mechanize を使って bk1 の注文履歴を取得するスクリプト(www.asmate.net)。 mixiの足あとを取得するスクリプト(digit.que.ne.jp)。日記を投稿するスクリプトのアレンジです。 指定したカテゴリの、今日の一覧を取得。 「次のページ」も追いかけて処理します。 use strict; use WWW::Mechanize; my $url = 'http://headlines.yahoo.co.jp/hl'; my $cate_label = 'コンピュータ一覧'; m

    kobak
    kobak 2009/07/17
  • perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found

    2009年06月23日15:30 カテゴリLightweight Languages perl - use CGI; use Encode; # 非英語Webプログラミング3原則 これは、実はPerlに限らず未だに事実だったりするのですが.... Perl でフォームデータから UTF-8語文字をとりだす方法 (プログラミングの小石・大石) UTF-8 のフォームによっておくられたデータのなかから日語文字をとりだすことは,日Perl CGI プログラマならたいてい必要になることである. ところが,その方法は意外に確立されていないようにみえる. しかし、元発言の方法は先祖帰りすぎるので。 Perlプログラマー以外にも、Webプログラマーであれば有用なentryです。 PerlでWebプログラミングする場合の三原則 QueryはCGIモジュールで処理する 文字コードはEncode

    perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found
  • CPANモジュールのアンインストール(改良版) - ヒルズで働く@robarioの技ログ

    信じられない間違いを犯していましたぁ!!(><) aliasを書き直しました。 もし以前のaliasを持っていたら、見比べてニヤニヤしてくださいヽ(;´Д`)ノ 何かCPANPLUSでdistroprefsが使えない(CPANモジュールのオレオレパッチ - ヒルズで働く@robarioの技ログ)ので、一旦CPANに戻ってきました。 それで、CPANではアンインストールコマンドが無いので、cpan-uninstall(CPANモジュールのアンインストール - ヒルズで働く@robarioの技ログ)を使うわけなんですが、色々あってcpan-uninstallを改良しました。 コード(aliasとしてワンライナーで実装) alias cpan-uninstall='\perl -MExtUtils::Install -MExtUtils::Installed -e "unshift@ARGV,n

    CPANモジュールのアンインストール(改良版) - ヒルズで働く@robarioの技ログ
  • Path::Class::Dir-0.16のchildrenが「0」で止まる件 - Unknown::Programming

    ブログにお絵かきなんてものが増えてたので喜び勇んで描いてみた。 って前からあったっけ? タイトルまんまなんだけども、children呼ぶときの対象のディレクトリ以下に「0」って言う名前のファイル(もしくはディレクトリ)が存在してるとディレクトリ一覧が取れないのです。 コード見てみたら一目瞭然、IO::Dirのreadをwhileでぐーるぐるしてるわけですが、終了の判定を単なる真偽値で行っているため「0」というファイルがあっちゃうとそこで止まってしまうというわけです。こーゆー場合はちゃんとdefined関数使わないとね。 以下パッチ。 --- Dir.pm Fri Apr 17 18:23:50 2009 +++ newDir.pm Fri Apr 17 18:36:21 2009 @@ -164,7 +164,7 @@ my $dh = $self->open or Carp::croak

    Path::Class::Dir-0.16のchildrenが「0」で止まる件 - Unknown::Programming
    kobak
    kobak 2009/04/18
    "終了の判定を単なる真偽値で行っているため「0」というファイルがあっちゃうとそこで止まってしまうというわけです。"
  • perl - tnek-cgi@CodeRepos - nms-cgi 再び : 404 Blog Not Found

    2009年04月03日10:30 カテゴリLightweight Languages perl - tnek-cgi@CodeRepos - nms-cgi 再び これを見ていたたまれなくなったので。 perlでアップローダを作ったのですが、クラックを受けている様なんです。 ./up の配下にしかアップロード出来ない様にしたつもりが、その上のディレクトリに.htaccessやらi.. - 人力検索はてな /lang/perl/tnek-cgi/trunk ? CodeRepos::Share ? Trac これはいったい何かというと、 nms - web programs written by experts の日版みたいなものです。nms-cgiにもファイルアップローダーがなかったので作りました。その他の「よく使うCGI」なども、ここを起点にみんなで添削してそれを配布、という形にすれば

    perl - tnek-cgi@CodeRepos - nms-cgi 再び : 404 Blog Not Found
    kobak
    kobak 2009/04/03
  • GitHub - tokuhirom/optimize-perl-doc: how to optimize your perl code?

    =head1 概要 プロジェクトでは、Perl programming における、パフォーマンスチューニングの要諦について書く。 =head2 チューニングの原則 可読性/メンテナンス性とのトレードオフを意識し、メンテナンス性の低下をひきおこすようなチューニングは気をつけておこなうこと。 =head2 無根拠なチューニングはしない マイクロオプティマイゼーションにおいて、ベンチマーク結果のみにたよったチューニングはできるだけ避け、「どうしてこちらの方が高速なのか」を常に意識するよう心がけるべきである。 =head2 ツール =over 4 =item Benchmark.pm Benchmark.pm は、Perl における標準のベンチマークモジュールである。cmpthese, timethese, timeit などを場合によって使いわけるようにする。稿でも主にこれを用いる。 =it

    GitHub - tokuhirom/optimize-perl-doc: how to optimize your perl code?
    kobak
    kobak 2009/03/30
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    kobak
    kobak 2009/03/21
  • regexp - ^$でなくて\A\zを使おう : 404 Blog Not Found

    2009年03月09日00:30 カテゴリLightweight LanguagesTips regexp - ^$でなくて\A\zを使おう まずは回答から。 正規表現で「制御文字以外」のチェック - ockeghem(徳丸浩)の日記 文字エンコーディングの妥当姓 制御文字(\x00〜\x1f, \x7f)のチェック 文字列長のチェック このうち後ろ二つを正規表現として書くにはどうすればいいかを考えていました。 こういう時には、「全文字がOKならOK」と考えるのではなく、「一文字でもNGならNG」と考えると楽になります。それは「スペースと非制御文字以外」なのですから、/[^ \S]/が求めていた正規表現で、=~ではなく!~が使うべき演算子ということになります。全角スペースもOKにしたければ、/[^ \x{3000}\S]/。[追記参照] [Run via Codepad] #!perl -

    regexp - ^$でなくて\A\zを使おう : 404 Blog Not Found
  • perl - EncodeでXSSを防ぐ : 404 Blog Not Found

    2009年03月03日19:00 カテゴリLightweight Languages perl - EncodeでXSSを防ぐ 良記事。 第7回■文字エンコーディングが生み出すぜい弱性を知る:ITpro だけど、問題点のみ具体例があって、対策にないのが片手落ちに感じられたので、その点を補足。 結論だけ言ってしまえば、Perlなら以下の原則を守るだけです。 404 Blog Not Found:perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これが

    perl - EncodeでXSSを防ぐ : 404 Blog Not Found
  • 第1回 「モダンPerl」ってなんだろう? | gihyo.jp

    「モダンPerl」という言葉の流行 先日、国内有数のPerlハッカーである牧大輔氏が『モダンPerl入門』という書籍を刊行しました。 日Perlユーザーのハブサイトを目指しているperl-users.jpでも「モダンなPerl入門」と題して「古来から親しまれているPerl入門とはひと味違う、今風のPerl入門テキスト」を作ろうという動きがあります。 海の向こうでは、Perl 6の言語仕様の策定にたずさわっているクロマティック(chromatic)氏が「Modern Perl Books」というウェブサイトを開設して、「⁠モダンPerl」についての考察を始めました。氏はその名もModern::Perlというモジュール[1]を公開して「モダンPerl」の啓蒙に努めています。 個人の主義主張に過ぎないのでしょうか? でも、この「モダンPerl」とはいったい何なのでしょうか。 字面から「今風の

    第1回 「モダンPerl」ってなんだろう? | gihyo.jp
    kobak
    kobak 2009/02/23
  • local::libを使った非rootでのCPAN環境構築 - hide-k.net#blog

    miyagawaさんが紹介されていたlocal::libを使って非rootでのCPAN環境を作ってみました。平たく言えばさくらインターネットのレンタルサーバで一般ユーザーでCPAN環境を作ってみました。 とはいえ、多くは先人たちの otsune's FreeBSD memo :: ユーザー領域にCPANをインストールする方法 さくらインターネットでCPAN - Charsbar::Note と大差ありません。 まずはlocal::libのアーカイブを取得・解凍します。最新のバージョンは1.003001です。 wget http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.003001.tar.gz tar xzvf local-lib-1.003001.tar.gz cd local-lib-1.003001 ots

  • ゆーすけべー日記

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

    ゆーすけべー日記
  • 今日のCPANモジュール(跡地) 目次

    Redirecting… Click here if you are not redirected.

  • perl - open my $fh, "comand |"; # はモダンじゃない : 404 Blog Not Found

    2009年02月10日01:00 カテゴリLightweight Languages perl - open my $fh, "comand |"; # はモダンじゃない モダンPerl入門 牧大輔 「モダンPerl入門」発売記念ということで、同書を補足するentryを。 同書でちょっと残念だったのが、[5.2 外部コマンドの実行]。あまりモダンではないのだ。 P. 141 system("/sbin/wget", "http://example.com"); これはいいのだが、以下がちょっとまずい。 my $output = `/bin/ls tmp`; open(my $fh, '| cat -v'); これ、何がまずいか、というと、コマンド実行の際に/bin/shを使ってしまうのだ。そのおかげでcommand < from > to 2&>1のようなリダイレクトも使えるなどの利点もあ

    perl - open my $fh, "comand |"; # はモダンじゃない : 404 Blog Not Found
    kobak
    kobak 2009/02/10