Skip to content

Instantly share code, notes, and snippets.

OGATA Tetsuji xtetsuji

Block or report user

Report or block xtetsuji

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@xtetsuji
xtetsuji / parse-headers-regexp.pl
Last active Nov 11, 2019
parse mail headers by zero-length assertion regular expression (negative lookahead)
View parse-headers-regexp.pl
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
my $header_string = <<'END_HEADER';
Delivered-To: xtetsuji@example.jp
Received: by 2002:ff68:12bc:0:0:0:0:0 with SMTP id 2f8a1000492ce44c1b7c;
Fri, 8 Nov 2019 15:07:34 -0800 (PST)
X-Received: by 2002:a63:6581:: with SMTP id c451320e8476820844296b80587f9f3a;
@xtetsuji
xtetsuji / one-liner-output.txt
Created Oct 6, 2019
what do meta character \s matches?
View one-liner-output.txt
$ perl -e 'for my $digit (0x00..0xff) { my $byte = chr $digit; my $match = $byte =~ /^\s$/; printf "0x%x\t%s\n", $digit, $match ? "match" : "-"; }'
0x00 -
0x01 -
0x02 -
0x03 -
0x04 -
0x05 -
0x06 -
0x07 -
0x08 -
@xtetsuji
xtetsuji / eccentric-sequence-re.pl
Last active Jun 21, 2019
print 1..100 without loop, recursive, goto by Perl (not C++)
View eccentric-sequence-re.pl
#!/usr/bin/env perl
use strict;
use warnings;
my $str = "A " x 100;
my $i = 1;
$str =~ s/A/ $i++ /eg;
print "$str\n";
@xtetsuji
xtetsuji / kadai-20190512.md
Created May 13, 2019
2019/05/12 ピザ会の課題
View kadai-20190512.md

2019/05/12 ピザ会の課題

正弦波 y = sin(x) を書く

参考例

  • 0.05秒に1回プロットする
  • x は 0 から pi/10 ずつ増えていく
  • sin(x) は -1 から 1 までの値を取るので、10倍して +10 すると 0 から 20 までの値となる。これの整数部分の個数 "*" を描く
    • int( 10 * sin ( $x ) + 10 )
@xtetsuji
xtetsuji / kanji-numerals-re.pl
Last active Jun 16, 2019
match regular expression of 1..99 kanji numerals
View kanji-numerals-re.pl
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
# 漢数字 1..9 の一文字 (need: use utf8)
my $kd_re = qr/[一二三四五六七八九]/;
# 1..99 の漢数字表現
my $kanji_numerals_re = qr{
@xtetsuji
xtetsuji / guess-ad-year.pl
Created Apr 13, 2019
Perl入学式 第1回 ピザ会 課題 2019/04/13
View guess-ad-year.pl
#!/usr/bin/perl
# guess-ad-year.pl - 和暦を引数に与えると西暦年を応えてくれる
# ad は A.D. (Anno Domini = 西暦年) の略
#
# 例:
# guess-ad-year.pl 平成30年
# 2018年
# guess-ad-year.pl 昭和54年
# 1979年
@xtetsuji
xtetsuji / suggest-two-kanjis.pl
Last active Mar 31, 2019
Perl kanji processing.
View suggest-two-kanjis.pl
#!/usr/bin/perl
# see: http://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/cjku_klist.html
use strict;
use warnings;
use utf8;
binmode STDOUT, ':utf8';
# ほぼ Unicode 全漢字を集める
my ($start, $end) = (0x4E00, 0x9FAF);
@xtetsuji
xtetsuji / fib2.pl
Last active Mar 22, 2019
samples for getting Fibonacci function from closure function.
View fib2.pl
#!/usr/bin/perl
use strict;
use warnings;
sub get_fib_with_initvals {
my ($first, $second) = @_;
# Perl の代入は右結合なので、 my $fib = sub { ... } で右辺に $fib があってはいけない。
# この場合、宣言と代入を分けて書く必要がある
my $fib;
@xtetsuji
xtetsuji / inurl
Created Mar 18, 2019
inurl - open URLs in the default browser, URLs are choiced from STDIN by peco
View inurl
#!/usr/bin/env perl
# 2019/03/14
# inurl - 標準入力を peco に渡して、URL がある行を選択するとその URL をブラウザで開く
use strict;
use warnings;
use IPC::Open2;
my (@url, $child_out, $child_in);
open2 $child_out, $child_in, 'peco';
@xtetsuji
xtetsuji / backup-clipboard.pl
Created Feb 22, 2019
Clipboard contained markdown dumper for backup
View backup-clipboard.pl
#!/usr/bin/env perl
# backup-clipboard.pl
# 実行するとクリップボードを監視して、対象とする Markdown だと思ったら
# 雑に /tmp 以下にダンプする
use strict;
use warnings;
use AnyEvent;
use AnyEvent::Mac::Pasteboard;
You can’t perform that action at this time.