稲沢市よりお届けしてます。

Perlをはじめとしたプログラミング周りのあれこれについて。Perl、最近書いてないなぁ。

Windows10コマンドプロンプトでTest::Mojo したときの日本語文字化け対処

テスト大事だよねって今さら改心した。 昨日『モダンPerl入門』を読んでて、「ナマケモノになるためにテスト書く」っていう感じのところが腑に落ちた。確かにリファクタリングとか機能追加が億劫になるのって、動いてるものが同じように動くって確信持てずに…

PerlワンライナーでSAY!!!してみる

いい加減 say 使ってもいいかも。 say関数 といえば、Perl 5.10 から導入された「改行付き print」。Ruby書いてて「puts」とか超便利じゃん!って妬ましい気持ちになったものですが、Perlでもできちゃうんですねー。 ただ、僕の主戦場の格安レンタルサーバー…

Mojolicious::Lite のcsrf_fieldタグヘルパーでCSRF対策を体感してみた

クロスサイト・リクエスト・フォージェリ(CSRF)対策としてのトークン発行Webアプリケーションを狙った攻撃としてポピュラーなCSRF。MojoliciousにそんなCSRF対策のためのタグヘルパーがあったので、試してみました。CSRFだけでなくWebアプリケーションのセキ…

Perlでエスケープシーケンスした16進数の置き換えにハマったけど、quotemeta()で解決した件。

難読化されてるPerlスクリプトを読みたくて、置き換え処理をチョコチョコっと書いたけどうまく動かず。perl -d hoge.pl みたいな感じでデバッガ使って動作確認しても、一見おかしなところは無いっぽかった。 原因は、置き換えに使ってる変数に入ってるバック…

PerlでTwitterアプリ開発するときにSSLが必要になったっぽい- Net::Twitter

今さら感満開ですが、Twitterのつぶやきアプリ的なものを作ってみようと思った。もちろん大好物のPerlで。APIキーの取得から、Access token取得の流れまで解説してくれた下記ブログを参考にさせていただきました。http://d.hatena.ne.jp/ozuma/20121230/1356…

Perl で複数のファイルを一気に開いて、Linuxコマンド【paste】みたいにつなげてみた

3つのファイルの1行目同士、2行目同士・・・n行目同士をつなげたい衝動に駆られました。Linux環境では、 $ paste 1.txt 2.txt 3.txt > res.txt みたいにすれば一発でしたが、Windows環境なのでそれもできず・・・。 で、Perl でやってみました。 まずは、…

Perl でUTF-8(BOM無し)ファイルをUTF-8(BOM付き)に変換する方法

Windows 向けのソフトに読み込ませるファイルをUTF-8(BOM付き)にする必要があったので、やってみた。TeraPadで開いて「文字コード指定保存」すればできるんだけど、スクリプト処理の一連の流れに乗せたかったので、やってみますた。Windows7(64bit)環境でや…

Perlで育った僕がJavaを始めた理由。

Perlを使い始めてかれこれ4年ほどになります。僕のプログラミングバージンはPerlに破られたので、変数とか、条件分岐とか、繰り返しとか、配列とかはPerlで身に着けました。ちょこっとモジュールとかも使えるようになったりして、自分の欲しいツールは大体…

WindowsパソコンでPerl置き換え演算子s// で発生した文字化けを Encode.pm でスマートに解決!

マルチバイト文字列が母国語の我々を常に悩ませる問題。そう、文字化け! 1年ちょい前に書いたエントリーでも文字化けについて書いてるけど、今日もややハマりそうになって、「perl Encode.pm」でググると自分のブログに到着。 おかげでスムーズに解決。あ…

Perl のEncode.pm について。今さらながらに、わかったこと。

特に文字コードを意識することなくフツーに文字コード shift_jis で書いたスクリプト内で、日本語を print しても文字化けしないのは、たまたま処理がうまくいってるだけなんだということが今さらになって、わかった。※ちなみに、WindowsXP、Perl v5.10.1 な…

Perlで複数行の置き換えをやってみたよ

mをsにしたら結構サクッと置き換えもできちゃった。てへっ。 #!/usr/bin/perl # # 複数行の置き換えを行うスクリプト-2 # 2011.10.29_scripted by perl48 use strict; use warnings; my $multiple_data; foreach my $data (<DATA>) { $multiple_data .= $data } #p</data>…

Perlで複数行のマッチをやってみたよ

複数行のマッチとかできたら幸せになれるのに・・・って思いながら結城浩さんの『Perl言語プログラミングレッスン』を読んでたらできました。 #!/usr/bin/perl # # 複数行の置き換えを行うスクリプト # 2011.10.29_scripted by perl48 use strict; use warnings…

宮川プロダクツWeb::Scraperを使って楽天の商品情報をブッコ抜いてみたよ。

待望の冨田尚樹氏の書籍『Perl CPANモジュールガイド』が発売になった。 早速購入! 「この本の登場で、Perl業界が盛り上がること間違いなし!」 などと妄想しつつ、書籍を参考にしながら以前使いこなせずに挫折したWeb::Scraper を試してみた。 お題は 『楽…

DELLのチャットの対応がヤヴァい。

お昼休みに、DELLのチャットでPCについて質問してみました。 リアルタイムだから当たり前だけど、対応超はぇぇ。 「FreeBSDを入れてUQWimaxにしようと思うんですが・・・」 という 「は?勝手にやれよ。」 と言われそうな質問にも丁寧に答えてくれました。 ちょ…

Perlの聖書(ラクダ本)が届いた!

ついに、ペーパーバックの英語の中古本だけど、 2,050円(送料込み)で買った『Programming Perl』が届いたー!! よくよく見ると、2000年出版の3rd Edition でPerl 5.6までしかカバーしてなかったりするw Unicode の節が、「将来実装予定だぜ」的なこと書い…

Perl=>WWW::Mechanizeでの日本語の扱いでつまづき、解決した件。

WWW::Mechanizeを使いこなしたい オライリーの『SPIDERING HACKS』を買ってからというもの、「MADにWEBの情報を集めて整理してエグイ感じで発信してやるぜ、グヘヘ」と思っていたが、いまいち進んでいない。 一番の原因は、日本語マルチバイトの壁。 使って…

CentOS 5.5のPHPをバージョン5.3.5 にアップグレードしてみた件。

CentOS 5.5のPHPをバージョン5.3.5 にアップグレードしてみたお。 探せばいるもので、CentOS 5.5のPHPをバージョン5.3.5 にアップグレードしてみました。基本的には(というか1から10まで)Natzさんのブログの手順通りにやりました。 Natzさん、スペシャ…

CentOS5.5 の標準PHPバージョンが5.1.6なので、yum でPHP5.2.16にアップグレードしてみた。

CentOS5.5 の標準PHPバージョンが5.1.6なので、yum でアップグレードしてみたときのメモ。入力コマンド(1) # yum update出力結果(1) Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: rsync.atworks.co.jp * base…

Perlでテキストファイルの半角スペースを取り除く

#!/usr/bin/perl use strict; use warnings; use utf8; # フィルハンドルを開いてコンテンツを読み込む open my $contents, '<', 'digital_dic2.txt'; # 半角スペースを取り除き半角スペースタグ除去後のコンテンツを表示する # 改行は残したいのでケツに\n…

【Perl正規表現】たった1行でHTMLタグを取り除く

HTMLを加工して、テキストごにょごにょする作業に出会いました。こんなときこそPerlでしょ。「LWPでHTMLを引っこ抜いて、HTMLパーサーとか使おうかなー」なんて、ぼんやり考えながらネットサーフィンしてたら、午前3時30分。もうすぐ夜が明ける。ぐだぐだス…

EC-CUBE 2.4.4 商品ごとの送料設定をカスタマイズ

俺のPerl力があれば、PHPとかSmartyなEC-CUBEとか楽勝でしょ?という勘違い 今でこそCで書かれてたりしますが、PHPは元々Perlベースで作られてたんだから、なんとかなるんじゃね? なーんて甘い考えで始めたEC-CUBE構築。いやぁ、何度も洗礼を受けましたよ。…

ソースコードを書くときはスーパーpre記法を使うべし

ソースコードを色付けして記述する(シンタックス・ハイライト) - はてなダイアリーのヘルプ

PerlでHTMLの繰り返し部分をインクリメントしてみた

HTMLの構築とかしてると、やたら繰り返す部分が多い。で、画像ファイルだけ差し替えてみたいな。 私は、好み的に画像ファイル名を【『ファイル名』+連番】にしているので、これは、自動化できるんじゃないかと思った。 はじめは、Emacsとかチューンできるテ…

EC-CUBEのディレクトリ構造をPerlで暴く

今月は、割とEC-CUBEを触ってみている。 EC-CUBEはSmartyというPHPのテンプレートエンジンをベースに作られている。 MVCモデル的だ。 ショップ用に作られているため、 カート・メルマガ・売上管理・顧客管理機能が標準で付いている。 まー、過剰な気もするけ…

Perlハッシュのリファレンスを使いこなせるようになりますように。

慣れてくると欲が出てくるのは人間の常のようで、 1行ずつ処理していたものを、複数行まとめて処理したくなってしまった。どう考えても、リファレンスを使わなきゃできそうにない。ということで、ハッシュリファレンスと向き合ってみた。 まず、読み込むinpu…

MovableTypeの役に立たないプラグインを作ってみた

Perlの学習にもってこいだし、仕事に使わなくもないのでMTのプラグイン開発の真似事を少し始めてみた。 プログラミング入門にお決まりの「Hello World!」表示がお題になっていたが、面白くないのでオリジナルメッセージに変更。プラグイン名も無駄にオリジナ…

XAMPPの認証IDとパスをすっかり忘れてしまった時のメモ。

テスト用だから問題ないというものの、いい加減PerlとかPHPとかのテストするのにレンタルサーバーにいちいちアップロードする習慣から脱却しようと以前インスコしたXAMPPにブラウザでアクセス。 無常にも立ち上がる認証画面。 ID・PASS・・・忘れたよ、完璧に。…

Perl48 meets eval function

自分の仕事用に作ったPerl"ガラクタ"スクリプトをブラッシュアップしていくのが、ささやかな趣味の一つになってたりします。『初めてのPerl 第3版(古っ!)』がバックボーンだったりする私ですが、いまだにこの本から新しい発見があります。ほんっと読みた…

はてなダイアリーでコメントリンクを出せずにビビった件

「*」(半角アスタリスク)で始まるはてな記法による見出しを使わないとコメント欄が出ないんだって。備忘録。

PHPだと文字化けしないのに、なんでPerlでは文字化けするの?弱いの?

数週間前、会社の同僚から 「PHPではこんな文字化け起きないのに、なんでPerlでは起きるんだろうか?」という話をもらった。「言語仕様なんじゃないかな?」と、それっぽいことを答えて、お茶を濁したのですが やっぱり気になったので、自分なりに調べてみた…