URLデコードをワンライナー(one liner)で

wordpressのパーマリンクをタイトルにしてしまった関係で、apacheのログがURLエンコードされた状態で出力され非常に可読性が悪い。

そんなに気にしてなかったが、やっぱりどの記事を見てるのかわからないので、簡単なワンライナー無いかなと調べた。

ワンライナーならperlだろうと思っていたが、簡単そうで行き着いたのは、rubyだった。

以下

ruby簡単だけど覚えられるか・・・

 

さらに調べると、nkfが対応していた。

メッチャ簡単。

これなら覚えられる。

 

因みに、perl

意外と簡単。

 

折角なのでpython

 

うーん。まー入っていればnkf一択ですね。

perl難読化 Acme::EyeDrops

とある案件で、perlの難読化する必要があったので調べたら以下のモジュールに行き着いた。

Acme::EyeDrops

perlスクリプトを記号のみに変換してくれるのだが、変換時に指定したアスキーアートにしてくれる。

ubuntuだとlibacme-eyedrops-perlというパッケージで一発インストール。その他はcpanとかで簡単にインストール出来ると思う。

変換前のperlを用意(hoge.pl)

 

これを変換するために、以下のperlを準備(eyedrops.pl)

 

 

eyedrops.plを実行して第一引数に、変換したいperlファイルを指定する。

※ラクダが一番好きですが、横幅が足りないので味気ないボトルにしました。

一番最初の1 shapes completed.を除く部分がperlスクリプトになる。そいつを実行すると変換前と同じ動作をします。

また、今回の案件では、requireを多用していたのだが、その部分は別途追加してあげないと上手く動作しませんでした。

また、アスキーアートの形は、# のみで形どったファイルを用意してあげれば、簡単に定義出来ます。

うーん。面白い。

たぶんShapeで指定できるのは、このくらいあります。

a
acme
adrianh
alien
alpaca
autrijus
baghdad
beer
bighorn
bleach
bottle
bottle2
bottle3
bra
buffy
buffy2
buffy3
buffy4
camel
camel2
camel3
campm
candle
china1
coffee
cricket
damian
dan
debian
dipsy
eugene
eye
flag_canada
gelly
golfer
halloween
heart
hipowls
japh
jon
jon_oxer
kangaroo
kansai_pm
kermit
koaladile
larry
larry2
llama
london
map_australia
map_italy
map_japan
map_uk
map_world1
map_world2
map_world3
merlyn
mongers
moose
moosecamel
mosquito
music
naw
opera
panda
parrot
pgolf
pony
pony2
pugs
pugs2
riding
rose
santa
santa2
saturn
schwern
schwern2
simon
smiley
smiley2
smiley3
snow
spider
spoon
tonick
tpr
uml
undies
window
writing_perl
yanick
yanick2
yanick3
yanick4