flist.pl
30分プログラム、その41。id:mzp:20070502:flistのPerl/はてな記法版。
id:mzp:19000101:listにいままでの一覧を作りました。
$ perl croquis_list.pl ~/hatena/*.txt *list*[30分プログラム]30分プログラムリスト **Perl - [http://d.hatena.ne.jp/mzp/20070416/rpn:title] - [http://d.hatena.ne.jp/mzp/20070419/fortune:title] - [http://d.hatena.ne.jp/mzp/20070425/lcs:title] ..... ** Ruby ..... .....
#!/usr/bin/env perl use strict; use warnings; use utf8; use Encode; print "\n"; print encode("UTF-8","*list*[30分プログラム]30分プログラムリスト\n"); my @titles = map { open(FILE,$_); /(\d{4})-(\d{2})-(\d{2})\.txt$/ or die "filename is invalid"; my $date = "$1$2$3"; my @titles = grep {/\*.*\[30/ } <FILE>; close(FILE); map { [$date ,$_] } @titles; } @ARGV; for my $lang (qw(Perl Python Ruby Scheme)){ print "**$lang\n"; for (grep { $_->[1] =~ /$lang/i} @titles){ if($_->[1] =~ /^\*(\w+)\*/){ print "- [http://d.hatena.ne.jp/mzp/$_->[0]/$1:title]\n" } } }