Perl

出来た。

やっぱりPERL5LIBを設定してなかったのがまずかったらしい。*1 ~sample/.tcshrcをコピーしてきて*2、 setenv PERL5LIB ~/perl/lib/perl5/5.8.2 setenv PERL5LIB ~/perl/lib/perl5/site_perl:$PERL5LIBの2行を追加。5.8.2やsite_perlの下のi386-linux-thread-…

こんな感じかなぁ。 #! /usr/bin/perl use strict; use warnings; my $file = shift @ARGV; use XML::SAX::ParserFactory; my $handler = new MyHandler; my $parser = XML::SAX::ParserFactory->parser( Handler => $handler ); $parser->parse_uri( $file …

モジュール一覧。

他に方法ないのかなぁ。とりあえず、@INCの下を探して.pmを取って表示。一応CGI*1。 #! /usr/bin/perl use strict; use warnings; print "content-type: text/plain\n\n"; my @modules; &dir( "$_/", "" ) for @INC; sub dir{ my( $inc, $dir ) = @_; my $dh…

JEDでCPAN。一応使えてるっぽい。だけどなんか変だ。 Makefile.PL のとこを PREFIX=~/perl に。 ftp_proxy のとこを proxy.jed.uec.ac.jp:8080 に。 接続先のサイトをてきとーに。 あとはEnterのみで、一応使えた。 ただ、途中ftp://ftp.perl.org/pub/CPAN/M…

Unicodeを使おうとしたらこんがらがってきた。ってか、MeadowってUnicode使えないの? Unicode::Japanese *1CPANからげっと。絵文字に対応してるらしい。とりあえずこれで。 EncodeとかEncode::JPとか。*2 *3あとで。 *1:http://tech.ymirlink.co.jp/ *2:htt…

HTMLテンプレート。 http://perldoc.jp/docs/modules/HTML-Template-2.6/HTML/Template.pod 自分で作るより、こういうの使うべきだよなぁ。

モジュールのヴァージョンの確認。

わぁい、-eと-Mを逆にしてて、何も表示されなかったよぉ。 $ perl -MCPAN -e 'print $CPAN::VERSION,"\n"'

引っ越し先検討。

外からだと、redが多い、というか、redだけなのだけど、どうやらredは人が多いらしいので、人間嫌いの僕としては人のあまりいないところへ、と思って、調べてみた。 redの人たち。 $ last | perl -e 'while(<>){$i++;} print $i,"\n";' 4510他のとこの人たち…

useやなんかでモジュールを探しに行くディレクトリのリスト*1に追加する方法。 @INC*2に、ディレクトリを追加する方法。*3 use lib "$ENV{HOME}/libperl";コマンドラインからは、 perl -I ~/perllib program-path args*4で、@INCの先頭に追加される。 環境変…

s///, tr///

よく間違う。というか、sを使いたい時にtrと書いてしまう。trってどういうときに使うんだ? sが置換(substitution)で、trが変換(transliteration)。 正規表現を使うのはsの方。 s/^/> /mg; #行頭に"> "を付ける。 tr/ \t/_/; #スペースをアンダーバーにする…

失敗、失敗。 ( $x ) = $x =~ /(\d+)/;とやろうとして、 $x = $x =~ /(\d+)/;としていたとこ多数。 perl -e '$l=0; while(<STDIN>){ $l++; if(/^[^(]*\$.*=.*\/.*\(.*\).*\//){ print "$l:$_"; } }'で、探してみる。'$'の前に'('が来なくて、'=', '/', '(', ')', '/'</stdin>…

改行を変える。(trって何?) perl -e 'while(<STDIN>){ s/\n/\r\n/; print; }' <uなファイル >wなファイル -nとか-pとか-iとか気になる。[isbn:4-87311-096-3:title]P586あたり。</uなファイル></stdin>

perl -e'for(@ARGV){if(/^aaa(.*)$/){ rename $_, "bbb".$1; }}' *ファイル名をaaa*からbbb*に変更、するはず。