タグ

perlに関するyassan0627のブックマーク (189)

  • 超テスト入門 〜 サブルーチン復習とrequire, use - Qiita

    この記事は Perl入学式 Advent Calendar 2014 の 5日目です。 こんにちは。サポーターさせていただいてます まっすー(@trapple )です。 今日は昨日までと少し流れを変えて、普段のPerl入学式と同じような内容で行きたいと思います。 今年のPerl入学式の進行具合ですと、第4回サブルーチン/正規表現が終わったり終わらなかったりな進行具合だと思います。 今回はそのサブルーチンをちょっと発展させた内容になります。 サブルーチンまだ習ってないよ! or 忘れちゃったよ!って人はまずは講義資料に目を通してみてください。 復習問題 それでは簡単な復習問題からスタートします。 mon, tue, wedといった3文字英語表記の曜日を引数として受け取り、月曜日, 火曜日, 水曜日といった日語3文字表記の曜日を返すサブルーチンtranslate()を作ってください。 標準入

    超テスト入門 〜 サブルーチン復習とrequire, use - Qiita
  • 第32回 新人さんのためのPerl入門(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは普段Webアプリケーションの開発をしているhiroki.oさんで、テーマは「新人さんのためのPerl入門」です。 稿のサンプルコードはWEB+DB PRESS Vol.86のサポートサイトから入手できます。 昨年は新人でした 筆者は2014年にプログラマとして新卒入社し、Perlを学び始めました。今回は筆者の経験をもとに知っておきたい知識として、Perlの導入からモジュールやperldocの使用方法、そしてモジュールを使った簡単なプログラムの作成までを、柔軟なPerlならではの文法のハマりどころを含めつつ解説していきます。 環境構築 まずはPerlの導入方法を説明します。今回は個人の開発環境の例として紹介します。ここに挙げた方法にとらわれず、用途に沿った方法で導入しましょう。 Perlのバージョン 現在の環境

    第32回 新人さんのためのPerl入門(1) | gihyo.jp
  • Perlの衰退議論について一言言っておくか - Y's note

    プログラミング言語を作る 作者: 前橋和弥出版社/メーカー: 技術評論社発売日: 2009/06/20メディア: 大型購入: 9人 クリック: 211回この商品を含むブログ (25件) を見る Perl衰退に関する最近の話 なぜ国内でPerlが急速に萎んだのか 「なぜ国内でPerlが急速に萎んだのか」という記事を読んで - サンプルコードによるPerl入門 最近熱が上がっているPerlの衰退の話についてですが、そもそもこーゆー議論に意味ってあるんですかね?どうも信者とそうでない人の言い合いとしか周りからは見れません。僕はPerl信者でも無ければ、Perlを憎んでもいない立場の人間です。以下では個人的に気になったPerlの現状を数値で見直し、Perlを嫌う理由、Perlの使いどころというのを書きたいと思います。 Perlの現状を数値で調査した CPANのPackage数はPypiに抜かれて

    Perlの衰退議論について一言言っておくか - Y's note
  • Perlを最適化する

  • Data::DumperでUTF-8フラグつき文字列をエスケープさせないようにするには

    変数の中身を表示してくれるperlのCPANモジュール、Data::Dumperは、UTF8フラグのついているデータがエスケープされて文字化け状態になってしまうため、UTF8で日語を扱う時に困る。でもそもそもUTF8フラグがついていなければエスケープされることもなくて困らないのはなんで?というわけでソースを読むと Data::Dumper::qquote() というメソッドの中で、文字列をエスケープする条件に my $bytes; { use bytes; $bytes = length } s/([^\x00-\x7f])/'\x{'.sprintf("%x",ord($1)).'}'/ge if $bytes > length; というトリッキーなコードが入っていた。UTF-8フラグがついていると、UTF8の文字列が正しく文字として認識されてlengthがバイト数よりも小さくなるので

    Data::DumperでUTF-8フラグつき文字列をエスケープさせないようにするには
  • Perl で相対 URL から絶対 URL を作成する - Qiita

    URI モジュールの abs を使うのが一番簡単そうだった。 絶対 URI リファレンスを返します。 もし $uri がすでに絶対であれば、それへのリファレンスが単に返されます。 $uri が相対であれば、$uri と $base_uri をつなげることにより新しい 絶対 URI が組み立てられ、返されます。 use strict; use warnings; use utf8; use URI; print URI->new("index.html")->abs("http://example.com") ,"\n"; #=> http://example.com/index.html print URI->new("/path/to/index.html")->abs("http://example.com") ,"\n"; #=> http://example.com/path/to

    Perl で相対 URL から絶対 URL を作成する - Qiita
  • perl: NKF.pmモジュールを追加 - 怒涛のめもめもリンク集

    perl: NKF.pmモジュールを追加 簡潔な解決方法の追記を先に。 [追記] cpanではなく、yumでインストールできたようだ。 Fedora10(x86_64)でNKF.pm | 首に結び、心の板に書き記す。 CPAN経由でNKF.pmはインストールするものと思い込んでいたのですが、yumでできた で、以前の記載: 新しいCentOS環境で、古いperlモジュールを動かそうとしたら、「use NKF;」でNKF.pmモジュールが見つからずエラー。 cpanでインストールしようとしても、見当たらない(参考:CPAN検索)。 探しているとnkfのプロジェクトページが見つかった: nkf Network Kanji Filter プロジェクト語トップページ – SourceForge.JP ものすごく古い漢字コード変換プログラムであるnkfを、 メンテナンスするプロジェクトです。 C

  • Perl で時間を扱う Time::Piece - オレの劣化が止まらない

    古い残念なcgiスクリプトで、以下をよく見かけます。 ($sec,$min,$hour,$mday,$month,$year,$wday,$stime) = localtime();このあたりは、2000年あたりのコードなので、ざっくり忘れましょう。 Perlで時間を扱うモジュールですが、DateTimeとかTime::Pieceがあります。 DateTimeのほうが、いろいろできるようですが、Time::PieceはPerlのコアモジュール(インストールすると入ってる)だったりするので、普段は Time::Pieceで何とかしましょう。 多分、Time::Pieceのほうが軽い。 Usageはmetacpanにて Time::Piece - Object Oriented time objects - metacpan.org use strict; use warnings; use

    Perl で時間を扱う Time::Piece - オレの劣化が止まらない
    yassan0627
    yassan0627 2015/10/06
    同じ様に罠にはまった。。。時間返して…
  • Perl入学式 - 2015/10/24(土) - dots. [ドッツ]

    「プログラミング未経験者」から「Perl初心者」を対象としたワークショップ, 「Perl入学式」で一緒にPerlで学びましょう!

    Perl入学式 - 2015/10/24(土) - dots. [ドッツ]
  • YAPCでおもしろ発表してきた - hitode909の日記

    YAPCおもしろ発表してきた. はてなブログの開発を振り返って設計の進化と最高の設計を紹介するという話. speakerdeck.com なぜか大人気発表みたいになってて,会場満員で,すみませんこんなところに来ていただいてすみませんというかんじだった. 紹介したはこちら.予約投稿で仕込んであって,発表終わったら,こちらから買ってくださいとかやろうと思ってたけど,すっかり忘れてた. YAPCの発表で紹介した - hitode909の日記 質問たくさんいただいて,よいかんじにおさまったと思う. 「難しくて挫折するという問題がありますよね」「歯をい縛って実装しろって書いてあった」 #yapcasiaE— そらは (@sora_h) 2015, 8月 21 Q: 「コメントの良い書き方は?」 A: 「オブジェクト指向入門下巻に書いてあります」 ↓ 「買って読みます。」 #yapcasiaE

    YAPCでおもしろ発表してきた - hitode909の日記
    yassan0627
    yassan0627 2015/08/23
    Perlの上にも三年 ずっとイケてるサービスを作り続ける技術 @hitode909
  • Perlはもう古い、これからはDocker - ゆううきブログ

    記事の内容はWEB+DB Vol.88 Perl Hackers Hub 第34回 に「DockerによるPerlのWebアプリケーション開発」という記事にまとめなおしていますのでそちらをご覧ください。 「Perl Hackers Hub」では、「DockerによるPerlのWebアプリケーション開発」と題して@y_uuk1さんにご執筆いただきました!Dockerの基的な考え方からPerlのWebアプリ向けのDockerfileの書き方まで、実践的な内容です! #wdpress— WEB+DB PRESS編集部 (@wdpress) 2015, 8月 22 この記事は Perl Advent Calendar 2014 の19日目の記事です。 Plack/Carton で構築したモダンな Perl の Web アプリケーションの開発環境を Docker 化するための試行錯誤を紹介します

    Perlはもう古い、これからはDocker - ゆううきブログ
  • perlstyle - Perl スタイルガイド - perldoc.jp

    名前¶ perlstyle - Perl スタイルガイド 説明¶ プログラマは、もちろん人それぞれ、フォーマットには好みがあるでしょう。しかし、いくつかのガイドラインに従うことによって、プログラムの可読性や保守性をあげることができます。 もっとも重要なことは、つねにプログラムを-wフラグをつけて走らせることです。必要であれば、no warnings プラグマや $^W 変数を使用してコードの一部だけで警告を明示的にオフにします。また、つねに use strict を使用すべきです。もし、use strict を使用しないなら、その理由を十分に理解しておくべきです。use sigtrap や use diagnostics プラグマも便利でしょう。 コードレイアウトの美観に関しては、Larry が強く気にかけているのはたった一つ、複数行のブロックの閉じブラケット、その構造を開始したキーワード

    yassan0627
    yassan0627 2015/08/20
    これの実例込みのやつって無いのかなぁ。あとは、指摘したり、整形してくれるやつとか。。。
  • Perl Code Style Guidelines - Apache VCL - Apache Software Foundation

    The backend Perl code must conform to the following style guidelines. If you find any code which doesn't conform, please fix it. These requirements are intended to maintain consistent, organized, professional code. Indentation Proper indentation is very important.  Just because the code lines up properly in your editor of choice, does not mean it will line up properly for someone else working on t

    Perl Code Style Guidelines - Apache VCL - Apache Software Foundation
  • perltidy - Perlソースコード整形ツール - Qiita

    About Perlのソースコードを統一したルールで整形してくれる。 チームでコーディングするとき、特に有用。 CPAN Perltidy How to install. $ cpanm Perl::Tidy which perltidyでInstall成功を確認 Setting $HOME/.perltidyrcに以下のように書く(Perl best practicesより) -l=78 # Max line width is 78 cols -i=4 # Indent level is 4 cols -ci=4 # Continuation indent is 4 cols # -st # Output to STDOUT -se # Errors to STDERR -vt=2 # Maximal vertical tightness -cti=0 # No extra indent

    perltidy - Perlソースコード整形ツール - Qiita
  • Visualizing Perl data structures – Intermediate Perl

    Joseph Hall invented Perl Graphical Structures, which he used in Effective Perl Programming and we used in Intermediate Perl. To make the images for the first and second editions, I wrote PeGS::PDF (on Github). I used this to create all of the PeGS structures in the book. Here are a couple of examples, which you can also find in the distribution. I can make the basic structures from Learning Perl

  • intro to references

    References This is a translation of (lang: de) Referenzen (ASCII Graphics in style of PEGS (PErl Graphical Structures) by Joseph Hall) What is a reference? There are two kinds of references 'hard references' and 'soft references'. The 'soft' ones are sometimes called 'symbolic' and are not part of this tutorial. A reference is something like a pointer to a value (I know there are no pointers in Pe

    yassan0627
    yassan0627 2015/07/17
    配列やハッシュ、リファレンスの状態を図示したもの。直感的で分かりやすい。○○記法とかで簡単に作れないかなぁ。 #perl #pegs
  • PL/Perl の 発見 ~ PostgreSQL版 PL/SQL の PL/pgSQLは、SQLユーザ定義関数内 に Perlのコード を埋め込める - Qiita

    以下のウェブサイトを見つけました。 【 参考ウェブサイト 1 】 PostgreSQL 8.0.4 文書 「第 37章PL/Perl - Perl 手続き言語」 PL/PerlPerlプログラミング言語を使用してPostgreSQL関数を作成することができる、ロード可能な手続き言語です。 PL/Perlを特定のデータベースにインストールするには、createlang plperl dbnameを使用してください。 ( 使い方 ) PL/Perl言語で関数を作成するには、以下の標準構文を使用してください。 CREATE FUNCTION funcname (argument-types) RETURNS return-type AS $$ # PL/Perl function body $$ LANGUAGE plperl; 関数体は通常のPerlのコードです。 CREATE FUNCT

    PL/Perl の 発見 ~ PostgreSQL版 PL/SQL の PL/pgSQLは、SQLユーザ定義関数内 に Perlのコード を埋め込める - Qiita
  • Hatena-Textbook/test-for-perl.md at master · hatena/Hatena-Textbook · GitHub

    Perlを使ったテストの書き方 何故テストを書くのか? コードを書いたら、テストを書きましょう。それは何故ですか?コードの正しさを保証するためです。未来の自分、もくは他人がコードを修正しても、テストが通っていればアプリケーションは正常に動く、そういうことを (ある程度) 保証するのがテストです。 テストの書き方 テストの基は Test::More です。 perldoc を読むのがいいですが、以下で順を追って解説していきます。 基は ok() とりあえず、解説のためにくだらないモジュールを追加します。 lib/Calc/Simple.pm

  • 第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp

    モバイルファクトリーの松野です。 今回から数回にわたって、Perl におけるテスト手法についてリレー形式で詳細に解説していきたいとおもいます。 今回は初回ですので、ざっくりと概論になります。 Perlの世界におけるテストの重要性 Perlの世界においてはテスト(test)は大変重要視されています。 その特徴がよく表れているのがCPAN Testersではないでしょうか。 CPAN Testers Perlといえば何はなくともCPANなわけですが、CPANでモジュールを探していると、図1のように、「⁠CPAN Testers」という項目があることに気付きます。 図1 CPAN Testers 世界中のPerl Mongersが、自分のマシンでテストを動かして、その結果をCPANに送っているのです。これにより、様々なOS/CPU/versionのPerlでテストがされています。貴方も気軽にCP

    第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp
  • 第23回 Perlアプリケーションのテストと高速なCI環境構築術(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はmyfinderこと久森達郎さんで、テーマは「Perlアプリケーションのテストと高速なCI環境構築術」です。テストに利用するさまざまなモジュールから、CI(Continuous Integration、継続的インテグレーション)環境の構築、そして増えたテストを高速に実行する枠組みの構築までを紹介します。 なお稿のサンプルコードは、誌サポートサイトから入手できます。 テストの目的 まずはテストを行う目的を整理します。 コードを壊していないことを確認する 1人で開発するものであれば、どんな状況であれ責任を負うのは自分だけですが、チームや組織が複数にまたがる場合にはテストが重要になります。プロダクトが大きくなるにつれ、自分の開発によって想定外の機能にも影響を与えることが多くなります。逆にほかの開発者が行ったコミットによって

    第23回 Perlアプリケーションのテストと高速なCI環境構築術(1) | gihyo.jp