先日書いた記事新人教育 - Unknown::Programmingのトラバやはてブとか読んでてあーやっぱりオールドファッションなPerlも未だに廃れてはいないんだなぁと実感させられました。 あの一覧全てを仕事で使うか?と問われると、ま確かに頻繁には使わないけどいやでも場合によっては結構使うよと。 なのでPerlで仕事するなら必須項目であると言えますね。 知らないとまずCPANモジュールのソースが読めないし。 問題にブチ当たった時に困ったりする。 どこバグってんのかとかわかんないってことになるわけです。 COREパッケージ知らないと組み込み関数と同じメソッド定義した時にうがーってなるし、 UNIVERSALパッケージ知らないとisaとかcanメソッドがどっからやってきたのかわかんないし、 AUTOLOADメソッド知らないと謎のメソッドに悩まされるし、 tie変数知らないともの凄い不思議なハ
なんか Perl でスクレイピングする記事が話題になっているようでして。 -簡単!たった13行のコードでHTML取得&解析をするPerlスクリプト - DQNEO起業日記 このブログの著者の人、いいな。と思う、ほんとに。僕も素直でありたいな、と。で、ちょっと遅くなってしまいましたが、便乗してみます。 **本日の教材 ただ、短く○○行で書くとかは得意分野ではないので、おたのしみ画像を手に入れる方向にもっていってみました。次のサイトを教材に。 -なんでもちゃんねる : 胸がきゅんとする女の子の画像 - ライブドアブログ 好みが合わなければ、サンプルコードの URL のところだけ変えてもらっても構いませんし。 **サンプルコード 下記のコードで胸キュン画像を GET できます。 |perl| ! /usr/bin/perl use strict; use warnings; use Web::S
プラグイン(には限りませんが)を書いていると、これから書こうとしているコードやちょっとした思いつきが正しく動くのかどうか確認したくなることがあります。 確認のためには、最低限の動作をするプラグインに仕上げ、ブラウザからアクセスし、ログあるいはデバッガで確認するという手順を踏む必要がありますが、確認したいコードがたった1行、例えば、MT->version_number()がどういう形式の値を返すのか知りたい、というときには、いちいち前述のような作業を行うのは面倒です。また、最低限の動作をさせるために書いた部分に問題があり、もともと確認したかったところへなかなか到達しない、ということもありがちです。 そうした場合に、役に立つのが、コマンドラインからMTの一部の機能を操作するスクリプトです。(スクリプトといっても、デバッガが起動し、MTのインスタンスを生成した後、breakするだけなのですが..
Perl › モジュール › here CPANモジュールを使用すればCPANからモジュールインストールすることができます。CPANは無料で利用できるモジュールがたくさん集められたサイトです。CPANモジュールはコマンドラインから利用することが想定されており、cpanコマンドから各種機能を利用することができます。 コマンドラインでcpanコマンドを実行するとモジュールをインストールすることができます。 # モジュールのインストール cpan モジュール名 またcpanシェルと呼ばれる対話的にインストールを行う機能もあります。cpanコマンドに引数を指定しなければcpanシェルが起動します。(ActivePerlでYAMLエラーがでる場合がありますが対処ほうはこちらにあります。) # cpanシェルの起動 cpan # モジュールのインストール(cpanシェル) install モジュール名
13行のコードで、Yahoo!Japanのトピックス一覧を取得する! PerlでHTML取得・解析したいときはLWP::UserAgentとHTML::TreeBuilderというのを使うと簡単にできます。 LWP::UserAgentを使うと、Webページの取得ができます。 HTML::TreeBuilderを使うと、HTMLのDOM解析ができます。 この2つのモジュールを使って、Yahoo!Japanのトピックス一覧を取得してみましょう。 コメント行と空行を除くとたったの13行です。 use strict; use warnings; use LWP::UserAgent; use HTML::TreeBuilder; # urlを指定する my $url = 'http://www.yahoo.co.jp'; # IE8のフリをする my $user_agent = "Mozilla
はじめに はっ ( ゚д゚ ) _(__つ/ ̄ ̄ ̄/_ \/ /  ̄ ̄ ̄amachang です。 みなさん、こんにちはお元気ですか。僕は元気です。 もっと もっと、熱くなれよおお、じゃなくて、もっとツイッターではてなダイアラーと絡みたい! と言うわけで ツイッターをやっているはてなダイアラーランキング Top 100 を作ってみた! 順位 はてな ID Twitter ID 1 id:finalvent @finalvent 2 id:amachang @amachang 3 id:naoya @naoya_ito 4 id:shi3z @shi3z 5 id:kanose @kanose 6 id:mkusunok @masanork 7 id:Hamachiya2 @Hamachiya2 8 id:nitoyon @nitoyon 9 id:takerunba @takerunb
たとえば、テキストファイルを読み込んで、とある文字列を検索し、それがヒットしたテキスト内の行数を求めたい場合があったとします。 以下は、そんな場合のサンプルです。 検索文字列『小池啓仁』があるテキスト内の行数を取得します。 ただし、このサンプルでは、ファイルI/Oは割愛し、すでにテキストファイルの内容が$strTextに入っているものとしています。 ◆サンプル use strict; use warnings; use utf8; binmode STDOUT, ':encoding(shiftjis)'; my $strText = << "END_OF_TEXT"; 1234567890 ABCDEFGHIJ 1234567890 ABCDEFGHIJ 12小池啓仁AB 1234567890 ABCDEFGHIJ END_OF_TEXT my $linecnt; if ($strTex
Perl › デバッガ Perlのとても便利な道具のひとつにデバッガがあります。デバッガを使うとスクリプトを一行づつたどって変数の中身を見たり、ブレークポイントを設定してその位置で停止したりすることができます。 デバッガは本当に便利なのですがPerlをやっていても意外と知らない人がいます。ひとたびデバッガを覚えてしまうと試験をするときに手放せなくります。Perlを覚えたての時期からどんどん使っていって欲しいツールです。そんなデバッガのコマンドとテクニックをまとめてみました。 デバッグ用のスクリプト デバッグ用の簡単なスクリプトを準備しました。debug.plという名前で保存してください。このスクリプトを使用してデバッガの解説をします。 my $message = 'Hello'; my @nums = (1, 2, 3); my %scores = (math => 80, english
最近 Nas を導入したので、Linux から重要なファイルを自動でバックアップするスクリプトをサクっと Perl で書いてみました。単にシェルスクリプトでエラー処理書くのが面倒臭かっただけですが。 コアモジュールしか使ってません、Perl 5.005 とか古いバージョンでも動きます。本当は IPC::Cmd を使いたかったのですが、コアモジュール入りは 5.009 からなので、IPC::Open3 を使いました。 tar で丸ごと固めて転送してるだけなので、バックアップ対象の容量が大きい用途には向きません。主に設定ファイル用です。画像や動画など大きいファイルのバックアップには rsync の差分転送使った方が良いです。 動作 バックアップ対象が書かれたファイルを読み込む 対象ファイルの存在チェック 指定されたファイルを tar で固める 固めた tar を指定リモートホストの指定ディレク
文字列 数値をASCII(アスキー)コードに対応する文字に変換するには、chr関数を使用します。 #!/usr/bin/perl use strict; use warnings; # ASCII文字コードでは65,66,67はそれぞれ 'A','B','C'に対応する。 my $a_num = 65; my $b_num = 66; my $c_num = 67; print chr( $a_num ), "\n"; print chr( $b_num ), "\n"; print chr( $c_num ), "\n"; __END__ 続きを読む
Perl › よく使う関数・モジュール よく使用する関数・標準モジュールの一覧です。これらの関数を覚えておけば、Perlをより便利なものにすることができます。詳細な解説は避け、簡単なサンプルを紹介しています。戻り値のあるものについては$retという記号で表しています。 また、よく使用する特殊変数、標準モジュールについても、解説しています。各項目から、関数の詳細にもリンクしていますので、便利にご利用ください。 数学関数 文字列操作 配列操作 ハッシュ操作 ファイル入出力 ファイル・ディレクトリ操作 時刻・時間 その他の重要な関数 関数とモジュールのドキュメントの調べ方 よく使用する特殊変数 よく使用する標準モジュール 数学関数 abs 絶対値を求めるにはabs関数を使用します。 $ret = abs $num; abs(-3)は3になります。 sqrt 正の平方根を求めるには、sqrt関数を
とほほのperl入門 トップ > とほほのperl入門 概要編 perlとは 特徴 perlのバージョン 入手方法 実行方法 引数指定 ファイル指定 自己完結型 標準入力読み込み型 基礎知識 簡単な実行例 これだけは覚えて 定数・変数・値 数値 文字列 エスケープシーケンス(\) スカラー変数($XXX) 配列(@XXX) 連想配列(%XXX) 変数名に使える文字 数値と文字列 真(true)と偽(false) 定義済みと未定義 省略時の変数($_) 環境変数($ENV{'XXX'}) コマンド引数($ARGV) シグナル($SIG{'XXX'}) その他の特殊変数($X) バイナリデータ 演算子 代入 算術演算子 ビット演算子 数値比較演算子 文字列比較演算子 条件演算子 マッチング 文字列連結 文字列置換 繰り返し演算子 範囲演算子 ファイル検査 制御構文 if elsif else文
さくらインターネットを・・・ - polestar's blog から一週間、やっとこ成功っぽいのでメモ。 CEDEC行ってる最中に夜ホテルでやったりとかしてたとかは内緒だ。 最初のうちは cpan初期設定Bundle::CPANインストールtest Plaggerinstall Plagger基本的に上記の流れでやってらっしゃるサイトを参考に、やっていたのですが、test Plaggerでmissingになるモジュールを入れようとするもバージョンがなかったり、test Plaggerいつまでたっても終わらないわ(なんでw) 最終的にinstallしても動きやしないわと、どうもなんというか、たぶんなんか間違って る。 きっと初歩的ななにか。 そんなこんなで調べてるうちにtest Plaggerではなく、svnからチェックアウトしたPlaggerをmakeしてるサイトを見つけました。 cp
最近、火星の荒涼とした砂漠を延々と 長時間チェックする事に飽き飽きしているので (いつもの事やん。w) ホームページの一部を SSIとかPerl使って自動生成させて遊んでます。 先日、ブログのRSSを取り込んで、ホームページ上に 最新投稿のタイトルを自動的に表示できるようになりました。 cron使って定期的にスクリプトを廻しているので、 反映されるまで数時間かかるのですが、 cronの設定に手こずってしまいました。 どうがんばっても : not found とか No such file or directory の文字が...。 シェル上から直接実行すると問題なく実行されるのですが、 cron上で実行させるとエラーが返ってきます。 おかしいなあとおもったら、bashのパスが間違ってました。 さくらインターネットで使えるシェルのパス一覧 /etc/shellの内容 cat /etc/she
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く