SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
私がPerlを使う理由
Report
Yohei Azekatsu
Follow
Principal Consultant at Oracle Corporation Japan
Aug. 6, 2012
•
0 likes
•
2,482 views
1
of
20
私がPerlを使う理由
Aug. 6, 2012
•
0 likes
•
2,482 views
Download Now
Download to read offline
Report
Yohei Azekatsu
Follow
Principal Consultant at Oracle Corporation Japan
Recommended
仕事で使えるシェルスクリプト
bsdhack
18.9K views
•
32 slides
シェル入門
ina job
1.2K views
•
13 slides
2日間Fabricを触った俺が 色々解説してみる
airtoxin Ishii
4.3K views
•
41 slides
Fabricでサーバー管理をDRYにしよう
max747
10.7K views
•
31 slides
速習A tour of go
敦志 金谷
1.5K views
•
27 slides
Fabric Essentials
Yoshinari Takaoka
7.2K views
•
44 slides
More Related Content
What's hot
姫路IT系勉強会 Vol.11 第0回L-1グランプリ bash
Jun Nogata
1.3K views
•
33 slides
WebAPIではじめるphp入門
Hiroaki Murayama
2.7K views
•
17 slides
Wakateweb 10
okazu_dm
403 views
•
12 slides
ターミナル上でのSwift運用
HarutakaMatsumoto
1K views
•
17 slides
ターミナル上でのSwift運用 ver.1.1
HarutakaMatsumoto
795 views
•
17 slides
Ruby&Active Support for expert 3
xibbar
795 views
•
15 slides
What's hot
(20)
姫路IT系勉強会 Vol.11 第0回L-1グランプリ bash
Jun Nogata
•
1.3K views
WebAPIではじめるphp入門
Hiroaki Murayama
•
2.7K views
Wakateweb 10
okazu_dm
•
403 views
ターミナル上でのSwift運用
HarutakaMatsumoto
•
1K views
ターミナル上でのSwift運用 ver.1.1
HarutakaMatsumoto
•
795 views
Ruby&Active Support for expert 3
xibbar
•
795 views
capistrano-colorized-stream
Naotoshi Seo
•
3.5K views
Hostsの活用
Yoshitaka KATO
•
757 views
pecoを使おう
Hideaki Miyake
•
1.2K views
systemdでよく使うサブコマンド
Kazuhiro Nishiyama
•
753 views
[20110129] sphinx theme collection 2011春
Yoshifumi Yamaguchi
•
1.8K views
Mac_Terminal_ver1.0
Satoshi Kume
•
491 views
Write good parser in perl
Jiro Nishiguchi
•
2.9K views
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Relations Team
•
2.5K views
Perlで伝統芸能
hitode909
•
1.6K views
メタメタプログラミングRuby
emasaka
•
991 views
シェルスクリプトを使って日々の作業を 効率アップする方法と UNIX 文化のあれこれ。
Hiromasa Tanaka
•
820 views
Rpn and forth 超入門
Yoshitaka Seo
•
2.9K views
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
t-sin
•
2K views
Google Perf Tools (tcmalloc) の使い方
Kazuki Ohta
•
5.7K views
Viewers also liked
Webを支える技術 1章 webとは何か?
善昭 今西
972 views
•
7 slides
クラスとクラスの依存を薄くする
Akihiro Nakahara
2.2K views
•
15 slides
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
Noriyoshi Shinoda
2.3K views
•
270 slides
監査ログをもっと身近に!〜統合監査のすすめ〜
Michitoshi Yoshida
2.4K views
•
30 slides
簡単!AWRをEXCELピボットグラフで分析しよう♪
Yohei Azekatsu
9.9K views
•
34 slides
Oracle Database Connect 2017 / JPOUG#1
Noriyoshi Shinoda
2.6K views
•
23 slides
Viewers also liked
(7)
Webを支える技術 1章 webとは何か?
善昭 今西
•
972 views
クラスとクラスの依存を薄くする
Akihiro Nakahara
•
2.2K views
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
Noriyoshi Shinoda
•
2.3K views
監査ログをもっと身近に!〜統合監査のすすめ〜
Michitoshi Yoshida
•
2.4K views
簡単!AWRをEXCELピボットグラフで分析しよう♪
Yohei Azekatsu
•
9.9K views
Oracle Database Connect 2017 / JPOUG#1
Noriyoshi Shinoda
•
2.6K views
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
Michitoshi Yoshida
•
2.8K views
Similar to 私がPerlを使う理由
20年越しで Perl 4 to 5 した話
outerinside
5.8K views
•
28 slides
Perl勉強会#2資料
Kiyo Tsunezumi
2.9K views
•
37 slides
What is chef
Yukihiko SAWANOBORI
20.9K views
•
37 slides
ページャ lessを使いこなす
Toshiyuki Shimono
2K views
•
16 slides
初めてのPerl
arvelt s
1.8K views
•
19 slides
知って得する標準関数の使い方
Soudai Sone
1.7K views
•
67 slides
Similar to 私がPerlを使う理由
(20)
20年越しで Perl 4 to 5 した話
outerinside
•
5.8K views
Perl勉強会#2資料
Kiyo Tsunezumi
•
2.9K views
What is chef
Yukihiko SAWANOBORI
•
20.9K views
ページャ lessを使いこなす
Toshiyuki Shimono
•
2K views
初めてのPerl
arvelt s
•
1.8K views
知って得する標準関数の使い方
Soudai Sone
•
1.7K views
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
•
4.2K views
Yohes kitchen
Youhei Kawahara
•
918 views
04 filesystem include
文樹 高橋
•
751 views
Lisp Tutorial for Pythonista Day 6
Ransui Iso
•
1.7K views
Modern PHP Programming @ PFI Seminar
Sotaro Karasawa
•
7.1K views
Pythonista も ls を読むべきか?
Katsunori FUJIWARA
•
6.7K views
Niigata.pm #1
hayajo Imai
•
852 views
PHP基礎勉強会
Yuji Otani
•
9.2K views
モダンmod_perl入門 #yapcasia
鉄次 尾形
•
8.2K views
NPCA夏合宿 2014 講義資料
Hiromu Yakura
•
939 views
Ansible meetup201409
shirou wakayama
•
8.1K views
誰でも出来るosxでのローカルなウェブ開発環境構築
Hiroshi Yamato
•
1.3K views
PerlのTwitterモジュールの紹介 #twtr_hack
鉄次 尾形
•
2.6K views
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
•
3.2K views
More from Yohei Azekatsu
Linux Process Snapper Introduction
Yohei Azekatsu
544 views
•
19 slides
CloudTrail ログの検索を爆速化してみた
Yohei Azekatsu
522 views
•
24 slides
Parquetはカラムナなのか?
Yohei Azekatsu
3.2K views
•
47 slides
Linux Performance Analysis in 15 minutes
Yohei Azekatsu
1.1K views
•
37 slides
iostatの見方
Yohei Azekatsu
2.4K views
•
7 slides
シンプルでシステマチックな Oracle Database, Exadata 性能分析
Yohei Azekatsu
8.9K views
•
53 slides
More from Yohei Azekatsu
(8)
Linux Process Snapper Introduction
Yohei Azekatsu
•
544 views
CloudTrail ログの検索を爆速化してみた
Yohei Azekatsu
•
522 views
Parquetはカラムナなのか?
Yohei Azekatsu
•
3.2K views
Linux Performance Analysis in 15 minutes
Yohei Azekatsu
•
1.1K views
iostatの見方
Yohei Azekatsu
•
2.4K views
シンプルでシステマチックな Oracle Database, Exadata 性能分析
Yohei Azekatsu
•
8.9K views
シンプルでシステマチックな Linux 性能分析方法
Yohei Azekatsu
•
10.6K views
Dbts2012 unconference wttrw_yazekatsu_publish
Yohei Azekatsu
•
1.5K views
私がPerlを使う理由
1.
私がPerlを使う理由
日本オラクル株式会社 畔勝(あぜかつ)洋平
2.
twitter id: yoheia blog:
http://d.hatena.ne.jp/yohei-a/
3.
私がPerlを使う理由 • 最初に触った言語(1998年頃、大学生のとき) •
もしかしたら、JavaScript のほうが先だったかも。。。 • どこでも使える • Perl は Oracle Database (10g以降) に同梱されているのでWindows でも使 える • 自由にソフトウェアをインストールできない環境で仕事をすることがあり ます • 私の記憶力が悪い • awk、sed、grep などの正規表現の書き方などをそれぞれ覚えれない。 • awk、sed、grep でできることはだいたい Perl でできる(たぶん)ので、 Perl に絞ると覚えることを減らせる。 • 便利なライブラリがたくさんある • CPAN(Comprehensive Perl Archive Network)と呼ばれる巨大なアーカイブ に便利なライブラリがたくさんあります • システムプログラミングができる
4.
CPU使用率を 100% にする
Perl ワンライ ナー $ perl -e 'while(1) {}‘
5.
CPU使用率を 100% にする
Perl ワンライナー(2) • CPUコアが4つの場合 $ for i in {1..4} do perl -e 'while(1){}' & done
6.
「ORA-」メッセージを番号別に集計する(1) $ perl -nle
'/(ORA-[0-9]+)/ and print $1;' alert_orcl.log | sort | uniq - c ↓実行結果 15 ORA-00001 20 ORA-01400 7 ORA-12899 ...
7.
「ORA-」メッセージを番号別に集計する(2) $ perl -nle
'BEGIN{%h=();}/(ORA-[0-9]+)/ and $h{$1}++;END{map{print "$_:$h{$_}"} keys %h;}' alert_orcl.log ↓実行結果 ORA-00001:15 Perlのみで書いてみると ORA-01400:20 ORA-12899:7 ...
8.
V$SYSSTAT から特定のデータベース統計情報の差 分を出す Perl
ワンライナー $ perl -F, -lane '/global cache blocks lost/ and printf(qq/%s,%sn/,$F[0],$F[2]-$tmp) and $tmp=$F[2]' sysstat.log ↓実行結果 0904235511,0 0904235541,1 0904235611,0 0904235642,3 0904235712,0 0904235742,5 0904235813,0 0904235843,0
9.
V$SYSSTAT から特定のデータベース統計情報の差 分を出す Perl
ワンライナー $ perl -F, -lane 'printf(qq/%s,%s,%sn/,$F[1],$F[0],$F[2]- $h{$F[1]})if(exists($h{$F[1]}));$h{$F[1]}=$F[2]' sysstat.log
10.
再帰的にファイル名に接頭辞をつける ↓実行前 $ find . ./a/bar.txt
CPANモジュールのFile::Findを使って、find ./a/foo.txt コマンドに似たことをしている ↓実行 $ perl -MFile::Find -e 'find sub{rename($_,"prefix_$_") if -f}, @ARGV' . ↓実行後 $ find . ./a/prefix_bar.txt ./a/prefix_foo.txt
11.
テキストファイルの特定の行だけ表示する • 1行目だけ表示する perl -lne
'print if $.<2' file • 10行目まで表示する perl -pe 'exit if $. > 10' file • 2行目から5行目まで表示する perl -ne 'print if 2.. 5' file
12.
レコードセパレータを変更する • 行モード(デフォルト) perl -e
... • 段落モード(1つ以上の空行をレコードセパレータと認識す る) perl -00 -e ... • ファイルモード(ファイル全体を1レコードとして認識す る) perl -0777 -e ...
13.
カスタムフィールドセパレータを使う • 空行をレコードセパレータ、改行コードをフィールドセパ
レータに perl -00 -F'n' -lane 'print $F[1] if($F[0] =~ /neo/)' hoge.txt awk 的な使い方
14.
システムプログラミングはそれほどしていません が。。。
15.
最後に
長い。。。
16.
「あのー ワンライナーの意味わかってますか?」とコ メントいただきました(^-^;
17.
そんなときは -MO=Deparse でスクリプト化 $
perl -MO=Deparse -wnle 'BEGIN{%h=();}/(ORA-[0-9]+)/ and $h{$1}++;END{map{print "$_:$h{$_}"} keys %h;}' alert_orcl.log BEGIN { $^W = 1; } BEGIN { $/ = "n"; $ = "n"; } LINE: while (defined($_ = <ARGV>)) { chomp $_; sub BEGIN { (%h) = (); } ++$h{$1} if /(ORA-[0-9]+)/; sub END { map {print "${_}:$h{$_}";} keys %h; } ; } -e syntax OK
18.
私が参考にしているブログ
19.
私が参考にしている書籍
20.
ご清聴ありがとうございま
した