タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Programmingとperlとprogrammingに関するlarkerのブックマーク (42)

  • HTML::Parserを使ってみる - Shohei Yoshida's Diary

    HTTP::Messageのソースコードを読んでるときに, HTML::Parserが使われて いたので perldocを読んでサンプルコードを書いてみた。 イベントドリブンなツールなんで毛嫌いしていたところもありますけど、 そんなに難しくなかった。ただコンストラクタが若干あれかな。 イベントハンドラに関するパラメータが配列リファレンスで一つ目の 要素がコールバック関数で, 2番目の引数がコールバック関数の引数の 指定。キーと値で設定でも良いような気もしますが、まあこういうモジュール ということで使いましょう。 以下はコマンドライン引数で指定した urlとパターンからマッチするリンクを 抽出するものです。 #!/usr/bin/perl use strict; use warnings; use LWP::Simple; use HTML::Parser; die "usage ./htm

    HTML::Parserを使ってみる - Shohei Yoshida's Diary
  • Perl html パーサー はじめてのHTML::Parser - ナナクサ

    HTMLをパースしてくれるHTML::Parser。検索結果で出てくるマニュアルはいまいち分かりづらかったので、自分なりの試行錯誤メモを残しておく。 HTMLを読み込んで、特定タグの要素を抜き出す。 a タグと img タグだけの簡単なHTMLを用意して、それぞれに指定されたhref属性とsrc属性を抜き出してみる。 <html> <head> <title>TEST</title> </head> <body> <a href="http://kirinji.amayan.jp/"><img src="http://kirinji.amayan.jp/kirinji_top.gif"></a> </body> </html> で、これをHTML::Parserで解析してみる。 #!/usr/bin/perl use strict; use warnings; use HTML::Pars

    Perl html パーサー はじめてのHTML::Parser - ナナクサ
  • 駱駝の背中に乗って行こう:Perlでスクレイピング(Web::Scraperモジュール)

    2009年08月05日 Perlスクレイピング(Web::Scraperモジュール) スクレイピングとは? 以前業務で、既存のWebページから、テーブルの値だけを抜き出して処理する、 というスクリプトを作成したことがあるのですが、必要な値だけを抜き出すというのが難しくて、かなり苦労しました。 当時は知らなかったのですが、、 ウェブサイトのデータを必要な部分だけ抽出して利用することを、スクレイピングといい, スクレイピング技術を利用すれば、Web APIRSSが公開されていないウェブサイトからも, htmlデータから必要な部分だけ抽出して利用することが出来ます。 Perlスクレイピングを行うには、Web::Scraper モジュールを利用すると、とても簡単です。 自力での苦労を思うと、当に感動するほど簡潔、簡単でした! とりあえずCPANのマニュアル

  • LWP::UserAgent - Webデータの取得

    [Perl] LWP::UserAgentを利用すればWEBデータを取得できます。GETメソッドのみでしたらLWP::Simpleの方が簡単です。ちなみにhttpsでの取得も可能ですが、Crypt::SSLeayがインストールされている必要がある。 [サンプル] #!/usr/bin/perl use LWP::UserAgent; my $ua = LWP::UserAgent->new; #タイムアウトを設定 $ua->timeout(10); #ユーザエージェントを設定 $ua->agent('Mozilla'); #GET、PUT、POST、DELETE、HEADのいずれかを指定(httpsの場合はhttpsにするだけ) my $req = HTTP::Request->new(GET => 'http://www.ksknet.net'); #リファラーを設定 $req->ref

  • 初心者にもお勧めのスクリプト言語“Perl”向け統合開発環境「Padre」NOT SUPPORTED

  • 現代的な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入門ゼミ
  • DBIプログラミング

    Perlで、DBIモジュールを使って、データベースをアクセスするプログラムの作成方法についてまとめてあります。 データベースは、PostgreSQLを使っています。 DBI/DBDについて DBI/DBDモジュールは、Perlで各種データベースをアクセスするためのモジュールです。 DBIモジュールは、データベースに依存しない処理モジュールで、DBDモジュールは、各データベース毎に依存する処理モジュールです。 ここでは、PostgreSQLDBDモジュールを使っています。 Perlスクリプト | DBIモジュール | +--------+--------+ | | PostgreSQL対応 ORACLE対応 DBDモジュール DBDモジュール | | PostgreSQL ORACLE データベース データベース

  • 移転しました

    移転しました。 https://mas3lab.net/perl/waza/index.html

  • 404 Blog Not Found:perl - POO と goto

    2007年04月24日00:45 カテゴリLightweight Languages perl - POO と goto というわけで、番。 404 Blog Not Found:perl - 万能なnewの書き方 ここからが面白くなるのだが次のEntryへ譲るここに着目していただきたい。 sub init { my $self = shift; $self->{$_} = $default{$_} for keys %default; $self->SUPER::init(); } 初期化に限らず、自分で何かをしたら次のメソッドに振るというのは、OOでは非常によく見られる光景だ。特にpluginなどを使っている場合、それが著しい。 しかし、このコード、次のメソッドに振っているのはいいのだけど、振ってから戻ってくるのだ。メソッド呼び出しも関数呼び出しに過ぎないのだから、当然といえば当然だ

    404 Blog Not Found:perl - POO と goto
  • 404 Blog Not Found:perl - 万能なnewの書き方

    2007年04月23日22:45 カテゴリLightweight Languages perl - 万能なnewの書き方 Perl 5のOOは、慣れてしまうと簡単だ。 継承とか考えずに、普通にクラスを作りたければ、必要なのは以下の二行だけ。 package Klass; sub new { bless {} }; これだけでは何もできないので、とりあえずnameというアクセサーを追加してみる。これだけ。 sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } しかし、上の形式だと、継承をサポートしていない。だから、 package Klass; sub new { bless {} }; package Klass::Sub; our @ISA = qw/Klass/; # new

    404 Blog Not Found:perl - 万能なnewの書き方
  • perl - 勝手に添削^2 - loop control : 404 Blog Not Found

    2007年04月19日04:15 カテゴリLightweight Languages perl - 勝手に添削^2 - loop control 他にもつっこみどころはあるのですが今回は、loop controlに的を絞って。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] ここギコ!: 安易なループは慎むべきですね jnaoyaのはてな日記 - 添削その2 [H.Iさんのコメントを受け加筆訂正アリ] まずは、DCONWAY先生の一言から。Loopに関する黄金則です。Perl以外でも有効。 Reject As many iterations as possible, as early as possible. 繰り返しは排除せよ、それもなるべく早い段階で 以下をご覧下さい。 jnaoyaのはてな日記 - 添削その2 while (m

    perl - 勝手に添削^2 - loop control : 404 Blog Not Found
  • 404 Blog Not Found:perl - to goto or not to goto, that's the continuation

    2007年04月18日06:45 カテゴリLightweight Languages perl - to goto or not to goto, that's the continuation Perlでもgotoを使えば、当の継続(continuation)が可能であることを示す。 継続ってなんのことだかさっぱりわからない一は、以下にあらかじめ目をとおしておいていただきたい。 なんでも継続 なんでも継続、Perl で。 : torus solutions! 404 Blog Not Found:継続は力なり Tociyuki::Diary - Perl 5.8 で似非継続 Perl 5のgotoには、3種類ある。 goto LABEL こちらはCなどで見られるgotoと等価である。 goto END; print "Hello\n"; END: print "Goobye\n"; G

    404 Blog Not Found:perl - to goto or not to goto, that's the continuation
    larker
    larker 2007/04/18
    gotoと継続
  • 勝手に添削 - PerlによるCSVファイルの高速集計 2 : 404 Blog Not Found

    2007年03月07日01:00 カテゴリLightweight Languages 勝手に添削 - PerlによるCSVファイルの高速集計 2 前回に引き続き、今回も引き続きcodezineさんの添削。 添削後のコード #!/usr/local/bin/perl use strict; use warnings; use Text::CSV_XS; my ($rfh, $wfh, %name_of, %addr_of); my $tc = Text::CSV_XS->new({binary=>1}); # to handle non_ascii; my $addr_file = shift or help(); my $q_file = shift or help(); my $out_file = shift; open $rfh, "<", $addr_file or die "$a

    勝手に添削 - PerlによるCSVファイルの高速集計 2 : 404 Blog Not Found
  • 404 Blog Not Found:勝手に添削 - Ajaxでデバッグしよう - @IT

    2007年03月07日11:00 カテゴリLightweight Languages 勝手に添削 - Ajaxでデバッグしよう - @IT 記事そのものはまあいいのだけど、CGIの部分があまりにひどいので。 Ajaxでデバッグしよう - @IT 私の仕事の現場ではJavaを開発言語として使用することが多いので、JSPやServletとして実装していますが、今回はレンタルサーバでも利用しやすいようにPerlで作成しました。以下のソースを参考にしてください。 Before まあご覧下さい。前世紀末においてすら[これはひどい]レベルです。著者はJava屋さんとのことなのでその点を甘く見ても、一体何を参考にして書いたのか是非お聞かせください。 local %params; # エージェントはGETメソッドだけを使用するのでPOSTは考慮しない # リモートログエージェントから送られてたログ情報を環

    404 Blog Not Found:勝手に添削 - Ajaxでデバッグしよう - @IT
  • 23. リファレンスの利用:サブルーチンに配列やハッシュを渡す- TAKENAKA's Web Page: Perl入門 -

    配列のリファレンスをサブルーチンに渡す これからしばらく,リファレンスの活用法をいくつか紹介します. まずはサブルーチンに渡す引数としての利用です 数百行程度以上のプログラムになると,サブルーチンを使うことが必須になってきます. 独立性のあるサブルーチンを書くには,グローバルな(プログラム中のどこからでも見える) 変数はあまり使いたくありません.なるべく引数として受け取ったものを処理させるように するのが望ましい設計です. けれども, 「サブルーチンの引数はスカラーが並んだひとつのリスト」 という制約があるために,サブルーチンに2つの配列を渡したり,ハッシュを渡したり するのが困難だという話は前のページに書いたとおりです. でも,リファレンスという特別なスカラーを使えばこの問題は解決です. 配列でもハッシュでも,サブルーチンにほんとに渡したいもののリファレンスを渡し, サブルーチンではこの

  • hori-uchi.com: JSON::Syckで改行を含むデータをダンプすると改行の後にスペースが2個入る

    Ajaxる時のサーバとのデータ交換フォーマットとして、JSONを使う時、perlでサーバ側を実装する際にはJSONとかJSON::Syckというモジュールを使うとperlのデータ構造をJSONフォーマットに変換してくれるので便利です。 昨日これを使って、サーバからデータを取得し、textareaに取得したデータを入れるということをしたところ、改行を含んだテキストだと、改行の後にスペースが2個入ってしまうという現象に遭遇しました。 要はこうなってほしいところが、 foo bar baz こうなってしまうんです。 foo bar baz 調べてみると、クライアントで受け取ったJSONデータをevalした段階ですでにスペースを含んでいたので、サーバ側でJSONデータを作成するところに問題がありそうだということがわかりました。 そこで以下のようなスクリプトを書いて、JSON,JSON::Syckが

  • Perl表技集

    移転しました。 https://mas3lab.net/perl/waza/index.html

  • 4-2. Perl の危険な関数

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

  • 山口家の逆襲->perl-解説->クロージャ

    テーブルゲームで遊ぶなら人気No.1! ベラジョンカジノのオンラインテーブルがオススメです! 世界中のカジノは、運試しにゲームをし、人生を変えてしまうようなジャックポットを引き当てる様々なタイプの人間たちであふれている。カジノに来る人間のタイプは大方、予想可能で、いくつかのグループに分けられる。 タバコ好き TVシリーズ『Xファイル』に出てくる ” 煙草を吸う男” はミステリアスだが、カジノのスモーカーには謎めいたところなどない。彼らはただひたすらにタバコを吸い、ウエイトレスが灰皿をせっせと片付けなければならないだけだ。 タバコ好きたちは彼らの側を通りすぎる人たちとは違い、タバコの煙の刺激に慣れている。さらに、特に理由がなければ、誰も彼らの側にとどまりたくはないのだが、しょっちゅう咳をしては周りの注目を集めている。 酒飲み タバコと酒は切り離せない存在だ(もちろん、一概には言えない)。スロ

  • naoyaのはてなダイアリー - Perl のクロージャ

    いつもお世話になってるあの人とかあの人とかが山口家の逆襲->perl-解説->クロージャというクロージャの解説ページをブックマークしてるのをきっかけに、 Perl のクロージャについて自分もちゃんと理解できてるのかというのを考えてみましたが、どうも微妙です。 クロージャについて、何でいまいち理解しきれてない感じがあるのかというと、クロージャがどういうものであるかは知ってるけど、クロージャをどういう時に使うと良いのかが具体的にあれとこれという感じで思い付かないからなのではないかと思った。 なので、Perl でクロージャを使ってる実装とかを見て、どんなときに使われるものなのかをリストアップして理解を深めてみよう..のコーナーです。 クラスにデータを保持するためのクロージャ 僕がぱっと思いついたのは Class::DBI の中で使われている Ima::DBI におけるデータベースハンドラのキャッ

    naoyaのはてなダイアリー - Perl のクロージャ
    larker
    larker 2006/01/10
    クロージャについて