Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use URI;
use LWP::Simple ();
use XML::Simple;
use Web::Scraper;
use Encode qw/ encode_utf8 /;
use Benchmark qw(cmpthese timethese);
cmpthese(timethese(1_000_000, {
's///' => sub {
my $str = q!1qaz2wsx(3edc4rfv5tgb)6yhn7ujm!;
my $del = q!4rfv5tgb)6yhn!;
$del =~ s/([\(\)])/\\$1/g;
$str =~ s/$del//;
},
'quotemeta' => sub {
my $str = q!1qaz2wsx(3edc4rfv5tgb)6yhn7ujm!;
@rightgo09
rightgo09 / class.pm
Created April 9, 2012 13:32
To use "class" instead of "package"
package class;
use strict;
use warnings;
sub import {
no strict 'refs';
my $class = caller;
#!/usr/bin/env perl
use File::Spec;
my $pg = shift(@ARGV);
for my $path (split /:/, $ENV{PATH}) {
if (-x File::Spec->catfile($path, $pg)) {
print File::Spec->catfile($path, $pg), "\n";
last;
}
}
@rightgo09
rightgo09 / nagato.pl
Created April 29, 2012 09:41
Conversation of Nagato and Kyon.
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use Encode qw/ encode_utf8 /;
use Time::HiRes qw/ sleep /;
$| = 1;
sub nagato {
my $str = shift;
@rightgo09
rightgo09 / All.pm
Created May 9, 2012 15:19
To unload all used module
package Class::Unload::All;
use strict;
use warnings;
use B::Hooks::EndOfScope qw/ on_scope_end /;
use Class::Unload;
use Module::Used qw/ modules_used_in_files /;
sub import {
my $class = caller;
#!/usr/bin/env perl
use strict;
use warnings;
use PDF::API2;
for my $file (@ARGV) {
print "$file page rotation.¥n";
my $pdf = PDF::API2->open($file);
for my $page_number (1..$pdf->pages) {
$pdf->openpage($page_number)
@rightgo09
rightgo09 / app.psgi
Created May 29, 2012 11:16
steraming sample Amon2's app.psgi.
use strict;
use utf8;
use File::Spec;
use File::Basename;
use lib File::Spec->catdir(dirname(__FILE__), 'extlib', 'lib', 'perl5');
use lib File::Spec->catdir(dirname(__FILE__), 'lib');
use Plack::Builder;
use T::Web;
use T;
@rightgo09
rightgo09 / gist:2863181
Created June 3, 2012 11:49
Perl qr// op speed.
$ cat qr_speed.pl
use strict;
use Benchmark qw/ cmpthese /;
my $re_string = 'a.c';
my $re_regexp = qr/a.c/;
sub match {
my $re = shift;
"abc" =~ /$re/;
@rightgo09
rightgo09 / qr_speed.pl
Created June 3, 2012 11:53
Perl qr// op speed.
$ cat qr_speed.pl
use strict;
use Benchmark qw/ cmpthese /;
my $re_string = 'a.c';
my $re_regexp = qr/a.c/;
sub match {
my $re = shift;
"abc" =~ /$re/;