読者です 読者をやめる 読者になる 読者になる

てきとうなメモ

本の感想とか技術メモとか

LWP::UserAgentでHTTPS proxy越し通信(Cent OS 6)

LWP::UserAgentでHTTPSプロキシ越しに通信する - Qiitaの ## ** See https://metacpan.org/module/Net::HTTPS ## Force use of Net::SSL instead of IO::Socket::SSL $ENV{PERL_NET_HTTPS_SSL_SOCKET_CLASS} = 'Net::SSL'; の部分を実施せずにうまくいってい…

perlでパイプを使ってコマンドの入出力をopenした時のエラー処理

closeした時にエラーが返るのか open(my $f, 'ls hoge |'); close $f or die $! ? "error on closing pipe" : "exit status = $?"; $ perl sample.pl ls: hoge: No such file or directory exit status = 256 at sample.pl line 2.closeが失敗するのはパイプ…

nkfで全角半角変換

半角カナを全角カナに $ echo "アイウエオガギグゲゴ" | nkf アイウエオガギグゲゴ全角カナを半角カナに $ echo "アイウエオガギグゲゴ" | nkf | nkf -Z4 アイウエオガギグゲゴ全角アルファベット、数字を半角に $ echo "12345ABCDEabcde" | nkf -Z 123…

perlの-Cオプション

PerlでUnicode文字列処理している時に、utf-8フラグのついたデータをそのまま出力しようとすると「Wide character in print」と警告される。 $ perl -E 'say pack("U*", 0x3042)' Wide character in print at -e line 1. あbinmode使う手もあるけど $ perl -…

X-Forwarded-Hostヘッダの扱い

Railsで自分のサーバ名を知ろうとしてrequest.host_with_portを使おうとして、多段reverse proxy下だったのでめんどうなことになった。Rails(Rack)だと def host_with_port if forwarded = @env["HTTP_X_FORWARDED_HOST"] forwarded.split(/,\s?/).last else…

雑なPerl vol.1

これで正解かな

YAPC::Asia 2014 2日目

Dockerで遊んでみよっかー - @kazeburo Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014 boot2docker使っていたが、話を聞いてるとvagrant+dockerが良い気がしてきた automated build repositoryは便利そう やっぱり実運用に採用するのはいろいろ問題あるか…

YAPC::Asia 2014 1日目

Perl meets Real World 〜ハードウェアと恋に落ちるPerlの使い方〜 - @mackee_w Perl meets Real World // Speaker Deck ハードウェアはRasberry Piをちょっと触ってみたぐらいなのだが、Arduinoとの使いドコロの違いとかの辺りは参考になった。デモの部分は…

実行中のPerlスクリプトのスタックトレースを表示

jbenjore/App-Stacktrace · GitHub こんなツールがあったのか。 $ ps PID TTY TIME CMD ... 2588 pts/0 00:00:00 cpan 2593 pts/0 00:00:00 ps $ perl-stacktrace 2588 [Thread debugging using libthread_db enabled] 0x00007f7bc077d740 in __read_nocance…

Perlの`command`の文字コード

基本的にバイナリで行き来するのでencode/decodeする必要があるのか。 $ cat hoge.txt 日本語 英語 フランス語で、 #!/usr/bin/perl use feature qw(say); use utf8; use Encode qw(encode decode); my $word = "日本語"; my $enc_word = encode('UTF-8', $w…

Perlの識別子の最大長はなぜ251文字なのか

YAPC::Asia Tokyo 2013のPerl◯×クイズで、251文字までということを知ったので、なんで255文字でなく251文字なのかなと思ってちょっと調べた。結論からいうと実装上の問題っぽい。でも、253文字にもできるんじゃないかなという気がした。識別子の長さ制限がつ…

YAPC::Asia Tokyo 2013 2日目

はてなのイマドキの開発フロー - onishi Hatena blogdevelopmentflow 強制的にレビュー時間を設けるとかタスクのおみくじの結果で割り当てるとかは良い仕組みな気がする。 これからのPerlプロダクトのかたち - goccy54 これからのPerlプロダクトのかたち(YAP…

Perldoc文字化け問題

$ perldoc SomeModule You have an old groff. Update to version 1.20.1 for good Unicode support. If you don't upgrade, wide characters may come out oddly.perldocが一部文字化けして、上記のようなエラーがでた場合はgroffが古いのでupdateすれば良…

YAPC::Asia Tokyo 2013 1日目

行ってきた。 Postcards from the Edge: The State of Perl 5 Development - rjbs Perl5.18の新機能とPerl5.20に実装されそうなものについての紹介。postfix dereferenceは直感的に書きやすいかも push @{$ref_of_array}, "hoge"; を push $ref_of_array->@*…

Perl7

Perl 7 | Ovid [blogs.perl.org] At the risk of starting a massive flame war, I have only one question: what are the pros and cons of releasing Perl 5.20.0 as Perl 7.0.0? わらた。Java(1.5→5.0)やSolaris(2.7→7)みたくマイナーバージョンをメジ…

perl5.16.0のperldocで警告がでる

$ perldoc perl You have an old groff. Update to version 1.20.1 for good Unicode support. If you don't upgrade, wide characters may come out oddly. at /Users/boscono/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0/Pod/Perldoc.pm line 1346. You …

use encodingは使わない

古いコードの移植でuse encoding 'euc-jp'を使っていたらいろいろはまってしまった。使わない方が良いね。以前からいろいろ言われていたし。 404 Blog Not Found:perl - use encoding; #は黒歴史 あと、Programming Perl(4th edition)をこの間購入したら、こ…

Perlの$@%の覚え方

Perlの場合はスカラー(Scalar)の「S」として使っているのかもしれません(推測で書いてます)。 (中略) 話がそれますが、Perlの配列変数を示す「@」は「a」に似ているので「Array」を意味しているのかもしれません(これも推測です)。また、ハッシュ変数…

Shellのシングルクォート

Shellのシングルクォートはエスケープしないのでシングルクォートの中でシングルクォートを利用することができない。 Enclosing characters in single-quotes ( '' ) shall preserve the literal value of each character within the single-quotes. A singl…

Perlの正規表現のグルーピング

$ perldoc perlhist ... Perl 1 introduced Perl to the world, and changed /\(...\|...\)/ to /(...|...)/. \(Dan Faigin still hasn't forgiven me. :−\) となっていて、Perl version 0の頃はsed形式だったんだなと。変えた理由は想像がつくけど、一応調…

perldocのcompletion

Big Sky :: perldocのbash-completionが激しく便利でうれしょん出た。 ubuntuのbash-completionでもできるんじゃないかと思って試したらできた $ perldoc IO IO IO\:\:Compress\:\:Zip IO\:\:Seekable IO\:\:Uncompress\:\:Base ...ubuntuの方はprefixが一致…

YAPC::Asia 2009 2日目

How regular expressions work internally - José Castro (cog) cog ポルトガル在住 sapo Googleより古い.yahooみたいなもの 100 techs "Hello World" =~ /World/; Hello Worldに対してWorldをずらしていき,最初の文字(W)をまずmatchさせ,次の文字(o)がma…

YAPC::Asia 2009 1日目

今年も行ってきたので.敬称略.間違いは訂正します.途中までしかまとまっていないがとりあえずup(追記)別記事になっていたのでとりあえず修正 (追記)抜けていた部分を追加 Welcome - Daisuke Maki (id:lestrrat) id:lestrrat http://mt.endeworks.jp/d-6/ …

perlとrubyのバグ?

Journal of Ovid (2709) バグではないのだけどもちょっと面白かった.これはすぐわかったんだけども $ perl -e 'print 8**(1/3)' 2 $ ruby -e 'print 8**(1/3)' # 2ではない 1$ ruby -e 'print -1**(1/2.0)' # √-1ではない -1.0こっちはちょっと時間がかかっ…

CPAN Top 100

The CPAN Top 100 cpanのモジュール間の依存関係からtop 100を算出している.heavy 100はそのモジュールが依存するモジュールの多い順,volatile 100はそのモジュールに依存するモジュールの多い順に計算されている.volatile 100にTest::*やExtUtils::*が入…

non-capturing parentheses

でも、そうでなければ、どのような時に?:という余分な2文字をわざわざ記述する正当な理由があるのだろうか? L'eclat des jours(2008-11-26) (?:...)のメリットはキャプチャしないのでパフォーマンスが上がるという部分がメリットと思っていた.でも測ったこ…

Hidden features of Perl

Hidden features of Perl - Stack Overflow 知らなかったものを抽出してみる. sigil For example, did you know that there can be a space after a sigil? $ perl -wle 'my $x = 3; print $ x' 3 sigilの後の空白は無視される.$に限らず他のsigilでもそう…

Filesys::Tree

macにはtreeコマンドが入っていないようなのでFilesys::Treeをインストールした.これをインストールするとPerlで書かれたtreeコマンドもインストールされる.linuxとかに付属しているtreeと比べると機能が少ないのだが,普通に使っている分には十分. $ tre…

Perlのstable quicksort

stableなquicksortないかなと思っていろいろ探していたらPerlのquicksortがstableな実装だった.perl5.10.0のpp_sort.cより引用.Perlのquicksortについては以下のようなデータ構造を利用している. indir list1 +----+ +----+ | | --------------> | | ----…

split

split の研究 - bkブログ Perlの部分がちょっと違う.分割対象が省略されると$_が対象になり,そうするとパターンも省略可能. $ perl -MData::Dump=dump -E '$_="a\tb c"; say dump split;' ("a", "b", "c") $ perl -MData::Dump=dump -E '$_=""; say dump …

YAPC::Asia 2008 2日め

英語難しかったので聞き取れているか微妙 TAKESAKOさんのセッションで記憶違いの部分があったようなので取り消し線をいれました. You're Doing OO WRONG - Micael G Schwern Schwern Perlのobjectはreference $thing->method(@arg); # method(\%thing, @arg…

YAPC::Asia 2008 1日め

とりあえず スライドとかupされていたので追記 Welcome to YAPC::Asia 2008 - Tatsuhiko Miyagawa Encountered a 404 error 開会の挨拶 去年は437名で今年は569名参加している.他のYAPCに比べても最大. しかしPerl Mongersは50人程度.ここにきたら自分もP…

YAPC::Asia 2008

YAPC::Asia 2008 - May 15-16th in Tokyo, JAPAN今年もあるみたいなんで行ければ行きます.

自然なソート

Coding Horror: Sorting for Humans : Natural Sort Order人間にとって自然なソートとsort関数がよくやるソートは別物だよという話. Perl や Python の実装が用意されてるってことはこれらの言語にはこの機能はないってことなんだろうな。Perl にはあっても…

Beginning Perl

Beginning Perl (Programmer to Programmer)作者: Simon Cozens,Peter Wainwright出版社/メーカー: Apress発売日: 2000/05/25メディア: ペーパーバックこの商品を含むブログ (1件) を見るこっちだったのか.なんか勘違いしてた.フリーで読めるPerlの入門書…

Math::Round

ここら辺の話を読みながらPerlってround関数ないよなあと思っていたんだけど,CPANモジュールで実装しているものがあった.それがMath::Roundなんだけども,ソースコードを見るとphpと似たような定数が使われている. $Math::Round::half = 0.50000000000008…

関数の中の関数

言語を選ぶ基準 - lethevert is a programmerPerlで書くとRubyみたいになるかなと思ってたけど sub f { my $x = shift; my $g = sub { my $y = shift; $x + $y }; my $h = sub { my $x = shift; $g->(10) }; $h; } print f(10)->(1), "\n"; $ perl hoge.pl 2…

Perl5.10のスライド

What's new in Perl 5.10?Nordic Perl WorkShopのスライド.'use feature'を使うことでPerl6の機能を結構使えるらしい.ぱっと見たところ sayが使える ブロックに属するstate変数 switch文のサポート. smart hash 正規表現がtrie最適化可能 この辺がおもし…

ファイル名の文字コード

PerlではUTF8文字列でマルチバイトなファイル名をちゃんと扱えないという話も書いておいてくださいな - 浅倉卓司@blog風味? - ひとりでもグループ 404 Blog Not Found:perl - utf8なファイル名 歴史は繰り返す、のかな - 浅倉卓司@blog風味? - ひとりで…

suscript separator

なぜsplit $;, $_[1]なのかは宿題ということで。 404 Blog Not Found:perl - 勝手に拡張 - tie my %hash, 'FizzBuzz' $;って何と思ったのでperldoc perlvar The subscript separator for multidimensional array emulation. If you refer to a hash element …

YAPC::Asia 2007 2日目

2日目.あんまりまとまってないが.

YAPC::Asia 2007 1日目

また参加したのでメモ.

use open ':std'

[を] Perl 標準入力と utf8 404 Blog Not Found:perl - PerlIO vs. <> それ use open - odz buffer use open ':std'を使うのが一番短く済む気がする.この場合STDERRも:utf8を通しているのでencodeせずに出力することができる. #!/usr/bin/perl use strict;…

Class::Structのベンチマーク

Class::Structの速度とかメモリ効率とかをちょっと調べてみた.比較対象はClass::Accessor.

Larry Wall

#0 Perlの父 Larry Wall:小飼弾のアルファギークに逢いたい♥|gihyo.jp … 技術評論社 弾●最近お気に入りのアニメは? ラ●《あずまんが大王! ちよちゃん大好き!》(ちよちゃんの歌「つくりましょう!」を歌い出す) 確か「プログラミング言語Perl」の前書き…

Perlで構造体

Perlで構造体を作りたい場合,Class::Structというモジュールがある.まあハッシュでもいいけども,$a->hogeみたいに構造体っぽくアクセスしたい.Class::Accessorでもいいのだが,Class::Accessorはハッシュをblessしているのに対して,Class::Structは配列…

CGI::Application (2)

CGI::Applicationの練習としてソーシャルブックマークみたいなのを作ってみた.

CGI::Application (1)

perlのweb application frameworkといえばcatalystが有名だけど,他のもちょっとやってみようと思って,CGI::Applicationを調べてみた.

YAPC::Asia 2006 2日め

メモ.

YAPC::Asia 2006 1日め

昨日今日とYAPC::Asiaに参加しました.以下感想やメモなど