Perl

PerlでXML

なかなか勘所が分からず苦労していたのだが、この記事でだいたい分かった(というより何を勉強したら良いのかが分かった)。リンクしておく。 Perl 開発者のための XML: 第 1 回 XML と Perl -- 魔法の組み合わせ Perl 開発者のための XML: 第 2 回 Perl を…

WindowsのActivePerlにXML::LibXMLを入れようとして微妙にはまる

それもこれも、64bitWindows用のActiveRepositoryにMinGWがないからだ。けっきょく32bit環境に、以下を参考に、インストールすることでとりあえず解決した。つねにアクセスできる、32bitパソコンがあるので。 http://perl.g.hatena.ne.jp/Uchimata/20081012/…

ワンライナーで改行と文字コード変換(備忘)

ついでに文字コードまで変換しちゃうワンライナー。 シフトJIS(CRLF)からutf-8(LF)へ perl -i.bak -MEncode -pe '$_ = encode("utf-8", decode("cp932", $_)); s/\r\n/\n/;' filename utf-8(LF)からシフトJIS(CRLF)へ perl -i.bak -MEncode -pe '$_ = encode…

utf8関連とmodern standard practices

modern perlユーザだったら常識だと思われるエンコード関連の話と、基本のプラクティスの話がサンプルコードによるPerl入門に出てたから、よく分かってない人は勉強するといいですよ。 Encodeモジュール - 日本語などのマルチバイト文字列を適切に処理する -…

ワンライナーでフォルダ内の全てのテキストファイルの改行コードをCRLFからLFへ

tizzの日記 こんな記事を書いていたわけですが、ワンライナーで書けるって話で。ターミナルをそのフォルダで開いて、これでOK(windowsだったら'を"に変える)。 $ perl -i.bak -pe 's/\r//g;' *.txt でバックアップ付きでいける、と。元のファイルを*.txt.bak…

Perlでアナグラム

何となく必要性を感じてランダムアナグラマを書いたので公開。 > perl anagram.pl tokyotokkyokyokakyoku とかで動くはず。日本語を使えるようにしようかと思ったけど、どうせプラットフォーム依存になるからやめた。 #!/usr/local/bin/perl use warnings; u…

CPANが使えなくて焦る

入れたいモジュールがあったのでsudo cpanしたけど、can't locate mac::file.plとか言われてビビる。手動でインストールして、cpanには入れるんだけど、どうにもこうにもpanic: free from wrong poolとか言われてインストールできない。というわけでperlの環…

非英語の文字コード

とある教授の手伝いで、スペイン語のファイルをいじっていたのだが、正規表現での文字コード(例えば感じだったら\p{Han}みたいなの)が分かんなくてけっこう探した。ってわけでリンクしとく。ちなみに非英語アルファベット文字へのマッチは\p{Latin}だった…

フォルダ内の全てのテキストファイルの改行コードをCRLFからLFへ

windowsで作ったテキストファイルは、改行コードを直さないといけないのだが。 #!/usr/local/bin/perl use strict; use Encode; use warnings; use utf8; my $dir = shift; #対象ディレクトリ $dir =~s[/?\Z][/];opendir DIR, $dir or die; my @textfiles = …

cpan moduleの一括アップデート

まず sudo -i で、ルートとしてログインしてから perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)' 参考url CPANモジュールを一度にアップデートする

macのターミナルで、日本語の引数をとるperlスクリプトを使う

概説 文字コードの問題は非常に頭が痛くて、いまだに良く分かっていないんだが、The Rule of Thumbは、use utf8して、内部ではすべてunf8で取り扱って、Encodeモジュールをつかって出入力のときに、外部との整合性をつける、というものだ。 参考:http://www…

プログレスバーとか

すごい小ネタだが、ダウンロードプログレスなどのステータスをリアルにアップデートするためには、出力先にSTDOUTじゃなくて、STDERRを指定すべし。前者は、バッファに溜めてから出力するので、プログレスが分からない。

XML(続き)

昨日の続きをして、大したことはやっていないが、最低限のことができるようになった。XML::LibXMLを使うほどでもないので、XML::Simpleを使って簡単な作業をしている。いままではテキストファイルに直接アクセスするような感じで作業をしていたのだが、それ…

XML

RAの仕事で巨大なテキストデータを扱っているのだが、フォーマットがいまいち使いにくい(自分でやった仕事だが)ので、XML化することに決め、少し勉強中。Perl and XML: XML Processing with Perl作者: Erik T. Ray,Jason McIntosh出版社/メーカー: O'Reill…

たくさんのPDFファイルからPDFからテキストを取り出す方法(for Windows)

前は、ワードファイルで同様のことをする方法 http://d.hatena.ne.jp/tizz/20090311/1236831938 を書いたが今回はそのpdf版。普通なら、CAM::PDF::PageTextモジュールを使えばいいのだが、うちではこれが動かなかったので(自分でコンパイルして入れた人もい…

Macから日記を

はてなダイアリーライターを使ってポストすることに成功した。今まで404エラーでできなかったのだが。問題は、改行コードにあったらしい。ウィンドウズで書いたテキストファイルをコピーして使っていたのだが、改行コードは当然CR+LFだが、これを、LFに直し…

ディレクトリ内のワードファイルを一括してテキスト化

Win32::OLEを使うので、ウィンドウズ限定だが。(コピペしてもうまく動かなかった。どこかで変な文字コードが混ざったせいだと思う。) はじめてのWin32::OLE(word2txt.vbsをperlに移植してみた) - jun-ichi.blog.hatena

インストール済みのパッケージの確認

備忘録だが。 Perl/導入済みパッケージの確認 - YImai's memoあと、書き込んだファイルのバックアップをとるときはファイルハンドルをクローズしてからにしないと中途半端なものを保存してしまったりするので注意。

今日のモジュール

ちょっと使ってみて便利だったものを記述。

5.10.** and say for @myToDoList;

なんかちょっと前に5.8.**->5.10.**したのだが、そういえば5.10.**ではsayが使えるんだった。ちょっと楽しい。

今日はたいしたことなし

WWW::Mechanize::Sleepyなどというモジュールがあるのを発見した。単純にサーバーリクエストとごとにスリープを行うというだけのモジュールなのだが、まあ、いろんなことを考える人がいるよなぁと。(とはいいつつsleep()は普通に使うので便利なのかも)サー…

スパイダーメモ

昨日の日記で触れた大き目のスパイダーの準備をした。といっても、フォームのサブミットの段階が終わっただけだが。以下備忘録。

Perl & LWP is available on-line!

この本がバグフィックスされて、すべてウェブに上げられている。Perl & LWP: Fetching Web Pages, Parsing HTML, Writing Spiders & More作者: Sean M. Burke出版社/メーカー: O'Reilly Media発売日: 2002/06/26メディア: ペーパーバック クリック: 2回この…

バックアップスクリプト

ふと思い立ってPerlでフォルダのバックアップと同期を行うスクリプトを書いてみた。バックアップには昔から使っている、zcopyというユーティリティソフトウェアを使っているのだが、そのソフトで普段やっていることの、大体はできるようになったと思う(excl…

Windowsでフォルダの削除ができず悩む

これとか、 http://ameblo.jp/tasogarekinnosuke/entry-10144590580.html http://hotstreet.vaio.sony.co.jp/article/article.php?id=24805 の読み取り専用緑の四角問題でいらなくなったディレクトリをrmdirできず。うっとうしいので、ubuntuでパソコンを立…

Spidering の続き

昨日予定したことが大体終わったので、これで完成したことにする。それを使って、データのダウンロードが終わったので、次は、ダウンロードしたもののparsingと簡単な数量化(文字を数えるとかですよ)だ。でも、ここ1週間ばかり自分の研究をやってなかった…

Spidering

2月の頭に、某研究者と話し合ったプロジェクトのためのスクリプトを書きはじめる。とりあえずは、むかし書いたスパイダーをオブジェクト指向で書き換えてみた。最初エラーが出たものの(主に文字コード周り)、何とか動く(サブルーティンを全てカプセル化し…

パッケージとか

とあるプロジェクトで使う予定で、使えるコーディングのレベルを上げるため、この本を使って勉強している。 ラクダ本を読み通す気力のない駄目プログラマなのだが、パッケージとオブジェクト指向に関することはある程度理解したいと思っていて、その目的にと…

はてなダイアリーライター

このブログへのポストは、結城浩氏作成のはてなダイアリーライターを使ってしている。とても便利なので、Perlの使える方はぜひ。 http://www.hyuki.com/techinfo/hatena_diary_writer.html