Skip to content

Instantly share code, notes, and snippets.

@s-aska
s-aska / mail_header_get.pl
Created November 16, 2010 10:58
Mail Header Fast Get
my $header;
my $buf;
my $term = "\n\n";
my $term_buf = '';
open($fh, $path) || die "$path $!";
while (read($fh, $buf, 4096)) {
$buf=~tr/\r//;
my $pos = index($term_buf . $buf, $term);
if ($pos >= 0) {
my $pos2 = $pos - length($term_buf);
@s-aska
s-aska / Dispatcher
Created December 8, 2010 04:39
よく使うDispatcher
package MasterSpark::Web::Dispatcher;
use strict;
use warnings;
use Amon2::Web::Dispatcher::RouterSimple;
connect '/{action}' => { controller => 'Root' };
connect '/{controller}/{action}' => {}, {
on_match => sub {
@s-aska
s-aska / simple-app.psgi
Created December 14, 2010 09:59
app.psgi snippet
use lib qw(lib);
use Plack::Request;
use Plack::Builder;
use Plack::Session::Store::File;
use Plack::Session::State::Cookie;
use String::Urandom;
my $secure = 1; # use SSL
my $httponly = 1; # only HTTP
@s-aska
s-aska / app.psgi
Created February 18, 2011 09:11
Markdown Reader
use strict;
use Data::Section::Simple;
use Encode;
use JSON;
use Path::Class;
use Plack::Builder;
use Plack::Request;
use Text::Markdown;
use Text::Xslate;
@s-aska
s-aska / Model.pm
Created February 28, 2011 04:45
reconnect and datetime auto Model.pm
package Hamburger::Model;
use parent 'Teng';
use DateTime;
sub dbh {
my $self = shift;
$self->SUPER::dbh;
$self->connect unless $self->{dbh};
$self->{dbh};
@s-aska
s-aska / get_tweet_count
Created March 24, 2011 04:40
Twitter URL API
#!/usr/bin/env perl
use WebService::Simple;
print WebService::Simple->new(
base_url => 'http://urls.api.twitter.com/1/urls/count.json',
response_parser => 'JSON'
)->get( { url => shift } )->parse_response->{count}, "\n";
@s-aska
s-aska / find_and_install.pl
Created March 24, 2011 06:31
module auto install.
find lib -type f | sed -e 's|^lib/||g; s|\.pm$||g; s|/|::|g' > modules.lst
perl -I lib -Mlib::xi -e 'eval "use $_";die $@ if $@' -n modules.lst
@s-aska
s-aska / base64.pl
Created March 28, 2011 05:20
base64
#!/usr/bin/env perl
use strict;
use MIME::Base64;
my $base64 = encode_base64(join('', <>));
$base64=~s|\s*||g;
print $base64, "\n";
# base64
@s-aska
s-aska / manifest skip
Created April 22, 2011 07:14
add file manifest skip
echo .foo | perl -ne 'chomp;print "^", quotemeta($_), "\$\n"' >> MANIFEST.SKIP
@s-aska
s-aska / screenshot.pl
Created May 4, 2011 13:26
スクリーンショットを取るコマンド
#!/usr/bin/env perl
# get screenshot
# screenshot.pl URL filename
#
# ubuntu
# sudo apt-get install xvfb chromium-browser imagemagick
#
# Japanese Font
# sudo apt-get install ttf-takao