PERL HACKS
しおり代わりに役に立ちそうなHacksをピックアップしておきます。書籍のサンプルコードはhttp://examples.oreilly.com/perlhks/からDLできます。
ロケーションバーからcpan Acmeのように入力してCPANを検索するためのブックマーク設定
名前 CPANサーチ
URL http://search.cpan.org/search?mode=module;query=%s
キーワード cpan
- HACKS#19 ファイルを配列として扱おう
Tie:Fileを使う。ファイルの各行を配列の各要素として処理できる。
use Tie::File; tie my @csv_lines, 'Tie::File', 'big_file.csv' or die "Cannot open big_file.csv: !$\n";
- HACKS#25 データベースカラムをバインドしよう
usersというテーブルからname,dob,shoe_sizeの各フィールドを取ってきて、結果を1行づつfetch()してハッシュに格納する。
# assume you already have $dbh connected my %user; my $user_fetch = bind_hash( $dbh, \%user, qw( users name dob shoe_size ) ); while ($user_fetch->()) { print "$user{name}, born on $user{dob}, wears a size " . "$user{shoe_size} shoe\n"; } sub bind_hash { my ($dbh, $hash_ref, $table, @fields) = @_; my $sql = 'SELECT ' . join(', ', @fields) . " FROM $table"; my $sth = $dbh->prepare( $sql ); $sth->execute(); $sth->bind_columns( \@$hash_ref{ @{ $sth->{NAME_lc} } } ); return sub { $sth->fetch() }; }
- HACKS#31 個人バンドルを作ろう
別のPerl環境に自分用のモジュールを一発でインストールするために、空のパッケージをつくってCONTENTSセクションに必要なモジュールを書き込んでおく。インストールは、
cpan -MCPAN -e 'install Bundle::Personal::Mine'
package Bundle::Personal::Mine; $VERSION = '0.42'; 1; __END__ =head1 NAME Bundle::Personal::Mine - My favorite testing modules =head1 SYNOPSIS C=head1 CONTENTS Test::Class Test::Differences ####以下省略
- HACKS#34 標準モジュールツールキットを作ろう
いつも使うモジュールをまとめたパッケージを作ると、他のモジュールを使っているモジュールを使うのは名前空間やらレキシカルスコープとかややこしい。複数のモジュールのuse文をマクロにする方法がある。
package Std::Modules; use Filter::Macro; # <-- The magic happens here use strict; use warnings; use Carp; use Smart::Comments; use XML::Parser; use File::Spec; use IO::Prompt qw( prompt ); use File::Spec::Functions; use File::Slurp qw( slurp ); use DateTime; use DateTime::Duration; use DateTime::TimeZone; use DateTime::TimeZone::Antarctica::Mawson; # etc. # etc. 1;
Perl Hacks ―プロが教えるテクニック & ツール101選
- 作者: chromatic,Damian Conway,Curtis "Ovid" Poe,株式会社ロングテール,長尾高弘
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/01/23
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 62回
- この商品を含むブログ (45件) を見る