The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
こんにちわ!クリスマスを過ぎるとニートになることが決まっている xaicron です! ハッカーでもなんでもないのですが、勢いに任せて登録してみました!!すいません>< はじめに 今日は、Windows環境以外の人は何にも関係ない、モジュール Win32::Unicode をご紹介しようとおもいます。 しかもまた文字コード関連の話ですね!!にEncodeでラクラク日本語処理を読んでから詠むと、より理解が深まるかもしれません。 Win32::Unicodeって? Windows で perl を使う場合の選択肢としては ActivePerl と Strawberry Perl の二種類があげられます。 どちらも Windows 用にカスタマイズされたものなのですが、悲しいことにどちらの Perlを使っても Unicode 文字の含まれたファイルが扱えません。 でもそれだと悲しいので、Unic
MSWin32 で Perl を使っている人にしか価値のない Win32::Unicode ですが、ちょっと前に 0.19 をリリースしました。 今回は、cygwin 対応のコードが入ってます。 cygwin では 1.7.1 あたりから、UTF8 が基調となっていますが、それはターミナルだけではなく、Perl でもそうです。恐らく cygwin の API が UTT8 化されたので、 Perl でそいつを呼び出す場合もそうなったんでしょう。(てきとーです) 何はともあれ、最近の cygwin-perl では、Win32::Unicode を使わずとも Unicode ファイルが扱えたりする(CORE::readdir で UTF8 で帰ってきたりする)ので、使う意味はないんですが、とりあえず CPAN-Testers でいつも cygwin がコケてるのでちょろっと対応した次第。まだ本
こんにちは、Perl48です。 自分の拙いPerlスクリプトとの奮闘記ですが、 ブログにするといいもんですね。 会社でも休み時間にチェックできるので、 自分が何を考えていたがを忘れなくてすみます。 さて、あれから1週間。 遂に完成しました! 試行錯誤しているスクリプトを一週間寝かせてみるのもいいもんですね〜。 (ただ時間を作れずに、振り返ることができなかったのは内緒) Perl言語が生まれたのは1987年。 Perlちゃんは今年で23歳なんですねー。 23年も生きていると、色んな人が色んなことを試していて やっぱりいました!似たようなことをやってた方がっ! 駱駝の背中に乗って行こう そして、 宮川達彦氏のCPANモジュール配布元 を熟読したら、だいぶ動かし方がわかりました。 「まずはドキュメントに当たれ」というアドバイスは金言だと感じました。 で、できたのがコレです↓ #!/usr/bin
レスポンスヘッダにExpiresやCache-Controlを追加することで、ブラウザのキャッシュを有効活用し、ダウンロードの時間をなくす事でウェブの高速化を実現できます。またサーバ側にとってもリクエスト数を減らす事ができ、負荷の削減にもなります ApacheにはExpiresやCache-Controlを付加するmod_expiresというモジュールがありますが、Plackにはまだなかったので作ってみました。VarnishのようにWebサーバ機能を持たないリバースプロキシを使う場合には、便利なんじゃないかなぁと思います CPANにリリース済みです http://search.cpan.org/dist/Plack-Middleware-Expires/ 使い方 builder { enable 'Expires', content_type => [ 'text/css', 'appli
前回のはいささか手抜きが過ぎたので、nekokakさんのCGI::Application::Plugin::DebugScreenを参考にちょろっとブラッシュアップ。いくらなんでもここや本家のような緑系で画面つくるのはエラー画面っぽくないよなあということでCSSはほとんどnekokakさんの(ひいてはid:nipotanさんやid:tokuhiromさんの、ですね。失礼しました)パクリですが、地味なところでoverflow(これはKickstart my heartを見ていいなあと思ったもの)とか入れてあります。あとはデバッグモードかどうかで吐き出すエラー画面が異なるのが特徴といえば特徴。フラグひとつ変えればそのままプロダクション環境に移行……しちゃ本当はまずいんですが、まあ、そういうこともできるようにということで。 今度は use CGI::Carp qw/fatalsToBroswer
すごく簡単にログインできるし、LWP::UserAgentのサブクラスなのでcredentialsも同じように使える。 メモメモ。 #!usr/bin/perl use strict; use utf8; use warnings; use Encode; use WWW::Mechanize; my $mech = new WWW::Mechanize; my $user_name = "ユーザ名"; my $password = "パスワード"; $mech->credentials('ドメイン:ポート番号','Auth Test',$user_name,$password ); $mech->get("表示したいURL"); print $mech->content(); WWW::Mechanize 日本語のリファレンス的なもの http://digit.que.ne.jp/wor
Perl の世界には、「変態モジュール」と呼ばれるモジュールがたくさん存在します。 これらは、モジュールの形態をとりながら、Perl の内部に踏み込み、蹂躙しているという恐ろしい存在です。 しかしながら、これらのモジュールは使いどころを間違えなければ非常に有用であり、あなたのプログラムに無限の可能性をもたらすことでしょう。 自分の足をどうやって撃ちぬくか、よく考えてからつかってください。 下記のモジュールたちは、それ自体が変態的なものもあれば、変態的なことをするときに使うモジュールもあります。 PadWalker PadWalker は変態モジュールの筆頭です。レキシカルスコープの変数を、レキシカルスコープの外から見たり書き換えたりできます。 peek_my peek_our peek_sub closed_over という4つの関数をサポートしています。 下記のようなありえない操作を可能
ある条件を満たすスクリプト(大量)のラストコミッタが知りたいと思ったが、Linuxコマンドだけでは難しそう。 ということで、スクリプト書いてみた。 last_committer.pl #!/usr/bin/perl use strict; use warnings; use XML::Simple; while (<>) { chomp; next if !( -f $_); my $log = `svn log $_ --xml --limit 1`; my $xs = XML::Simple->new(); my $ref = $xs->XMLin($log); printf "%s\t%s\n", $_, $ref->{logentry}->{author}; } あとはgrepの結果をパイプで標準入力に入れてあげればOK。 grep -rl 'hogehoge' ~/script
Perl5 では、E-mail の送信をするためのモジュールが多数 CPAN にアップロードされているが、現在もっともまじめにメンテされていて質がよいのは Email::Sender らしい。 Email::Sender は登場当初はドキュメントもなさすぎるしつかいものにならなかったが、現在ではだいぶマシになっている。Moose 依存が気にならないケースでは、実用としてつかっても問題ないとおもう。 iso-2022-jp の日本語のメールを送るには、以下のようにすればよい。 use 5.12.1; use utf8; use Email::Sender::Simple qw(sendmail); use Email::Simple; use Email::Simple::Creator; use Data::Recursive::Encode; use Encode; # e-mail o
2024年2月1日 拙作プラグインの譲渡について 拙作のMovable Typeのプラグインを、株式会社ワールドイズマインに譲渡いたしました。 長きにわたり拙作のプラグインをご愛顧いただき、ありがとうございました。 Movable Type用に今後作りたいと考えているプラグインで、Zipファイルを作成する処理が必要になります。 そこで、PerlでZipファイルを作る方法を調べてみました。 Archive::Zip PerlでZipファイルを操作するには、Archive::Zipを使うのが簡単です。 Archive::ZipはZipファイルの作成や読み込みの機能を持ったクラスで、シンプルな記法でZipファイルを読み書きすることができます。 Perlのプログラムに以下の行を入れると、Archive::Zipを使うことができます。 use Archive::Zip qw( :ERROR_CODE
一般的な OSX 環境および Linux 環境における、モダンな Perl 開発環境の構築方法についてまとめてみたよ。 perlbrew のインストールperlbrew をつかうことにより、簡単に最新版の Perl5 を利用することができるようになる。 perlbrew をいれる。% curl -L http://xrl.us/perlbrew | perl - install % ~/perl5/perlbrew/bin/perlbrew init ~/.bashrc (または ~/.zshrc)に source ~/perl5/perlbrew/etc/bashrc を追記。あたらしいシェルをたちあげる。最新版の perl をインストールする。% perlbrew install perl-5.12.1 % perlbrew switch perl-5.12.1 ここまできたら、she
Link to This Site Perl関係の記事へのリンク集 Perl To The People Recent Entries MacPortsでemacs23.1をインストールする - cipher MacPortsでのPerl v5.10のインストール方法が変わった - cipher Perlにおける$VERSIONをもう一度考える - cipher Perlの$VERSION変数 - cipher eneloopでiPodを充電したい - decipher Exporterがやっている事 - cipher Perl関係の投稿を整理し始めました - cipher Mac OS X Snow LeopardでPerlのバージョンを切り替える - cipher Perlにおけるモジュールとパッケージの関係 - cipher Perlのdoとuseとrequire - cipher
NAME List::Compare - Compare elements of two or more lists VERSION This document refers to version 0.55 of List::Compare. This version was released August 16 2020. SYNOPSIS The bare essentials: @Llist = qw(abel abel baker camera delta edward fargo golfer); @Rlist = qw(baker camera delta delta edward fargo golfer hilton); $lc = List::Compare->new(\@Llist, \@Rlist); @intersection = $lc->get_intersec
tokuhiromのgearman の worker process にスコアボードをつけてみる (git) のスコアボードをネットワーク越しに確認できるようにしてみた。 git: http://github.com/kazeburo/gearman-starter.pl 具体的にはworkerのloopに入る前に指定したportをlistenするプロセスをforkして、そいつにアクセスすることで、ステータス(スコアボード)を取得できる。 ステータスを表示するために—port と —listen の2つのオプションを追加した。起動は % perl -Ieg/lib ./gearman-starter.pl -s 127.0.0.1:7004 --scoreboard-dir /tmp/test --listen localhost --port 7005 MyWorker な感じ。teln
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く