タグ

perlに関するnilabのブックマーク (283)

  • Tatsumaki - Non-blocking web framework based on Plack and AnyEvent - metacpan.org

    NAME Tatsumaki - Non-blocking web framework based on Plack and AnyEvent SYNOPSIS ### app.psgi use Tatsumaki::Error; use Tatsumaki::Application; use Tatsumaki::HTTPClient; use Tatsumaki::Server; package MainHandler; use parent qw(Tatsumaki::Handler); sub get { my $self = shift; $self->write("Hello World"); } package FeedHandler; use parent qw(Tatsumaki::Handler); __PACKAGE__->asynchronous(1); use J

    nilab
    nilab 2019/12/30
    "Tatsumaki - Non-blocking web framework based on Plack and AnyEvent"
  • Amon2 - Web application framework for Rapid web development

    Amon2 is Fun use Amon2::Lite; get '/' => sub { my $c = shift; return $c->create_response(200, [], ['Hello, world!']); }; __PACKAGE__->to_app();

    nilab
    nilab 2019/05/27
    "Built on PSGI/Plack"
  • Perl Tips | Perl で、URL を抽出したい。

    URI::Find で URL を抜き出して、さらに正規表現を使って正確に取得している。 使用するモジュール use URI::Find #/usr/bin/perl my $text = 'https://twinkle.cc/i/'; my $url = getURL($text); sub getURL { use URI::Find; my $text = shift; my $finder = URI::Find->new( sub { my($uri, $orig_uri) = @_; return $uri; }); $finder->find(¥$text); my $http_URL_regex = q{¥b(?:https?|shttp)://(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])} . q{?¥.)*[a-zA-Z]

    nilab
    nilab 2018/01/05
    「URI::Find で URL を抜き出して、さらに正規表現を使って正確に取得」
  • URI-Find-20160806 - Find URIs in arbitrary text - metacpan.org

    The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

    nilab
    nilab 2018/01/05
    URI::Find
  • Mojolicious最速マスター - Qiita

    PerlのWeb Application Frameworkである Mojolicious でアプリをつくる場合に必要な基礎的な使用法を紹介します。1枚スクリプトから書けるMojolicious::Liteを前提としていますが大きなモノにも対応出来ます。 イントロ インストールする cpanm コマンドでコアモジュール以外の依存関係無しで一発。

    Mojolicious最速マスター - Qiita
    nilab
    nilab 2016/02/26
    Mojolicious最速マスター - Qiita
  • substr関数:文字列の指定した範囲の部分文字列を取得または置換する

    対象の文字列の部分文字列の取得をします。REPLACEMENTを指定した場合に は該当の部分文字列を新しい文字列で置き換えます。 パラメータ: EXPR 対象の文字列 OFFSET 文字位置 LENGTH 文字の長さ REPLACEMENT 置換する文字列 戻り値: 部分文字列 1 番目の引数には対象となる文字列を指定します。 2 番目の引数には文字列の中の位置を指定します。先頭の文字の位置は 0 です。位置に負の値を指定した場合、最後の文字を -1 として最後から先頭に向かった移動した位置となります(例えば -2 の場合は最後から数えて 2 番目の文字)。

    substr関数:文字列の指定した範囲の部分文字列を取得または置換する
    nilab
    nilab 2015/09/15
    「対象となる文字列の部分文字列を取得又は置換します」
  • 正規表現 - 2部 Perl言語仕様 - [SMART]

    正規表現の概要 正規表現は、Perlの中で最も重宝する機能のひとつです。正規表現にはテキスト処理のための様々な機能があり、文字列の中から特定のパターンを見つけ出したり、置換したりすることができます。 正規表現の基的な使用方法 たとえば、$strという変数に格納したデータの中から、「A」で始まって途中は何があるかわからないが最後が「E」という文字列を探したい場合、次のように記述することで、条件にマッチする文字列を見つけることができます。 $str =~ /A.*E/; 上記では、ドット( . )が改行以外の1文字を表し、アスタリスク( * )がその任意の文字の0回以上の繰り返しを意味します。このように、正規表現において特殊な働きを持った文字を正規表現演算子、またはメタ文字と呼びます。また、=~ はパターン結合演算子と呼ばれ、「左辺の値から右辺の値を検索する」という意味があります。 正規表現

    正規表現 - 2部 Perl言語仕様 - [SMART]
    nilab
    nilab 2015/09/15
    正規表現 | Smart : 「シンプルな文字列操作の多くは、正規表現よりも index、rindex、substr、tr///などの専用の演算子の方が適しています」
  • LL から Java に移行した人がはまりがちなこと - tokuhirom's blog

    こんにちは。Java 初心者です。 Java 初心者、得に LL から Java に来た人にありがちな問題について社内向けに書いたものをオープンアンドシェアさせていただきます。 前提として、我々は Java 8 でガンガン攻めているということをご承知おきください。 また、自分がこの数ヶ月で「うわー。こうしとくべきだったのかー」と気づいたやつをドヤ顔で語っているということにもご注意ください。 【追記】 対象は中規模 B2C の場合です(中規模というのは facebook より小さいという程度の意味です) 例外を握りつぶさないようにしよう Eclipse が生成する以下のようなコードをそのまま残しているケース。 これは言うまでもなく良くないですね。デバッグが困難になります。 try { } catch (IOException e) { e.printStackTrace(); } Perl

    nilab
    nilab 2014/10/01
    LL から Java に移行した人がはまりがちなこと - blog.64p.org
  • exiftoolを使ってff11のスクリーンショットにexifのCreate Dateを書く - 睡眠してません4

    #!/usr/bin/perl while($tmp=){ if($tmp=~/...(..)(..)(..)(..)(..)(..)..jpg\n/){ print "exiftool -CreateDate='20$1:$2:$3 $4:$5:$6' $tmp"; }else{ print "error\n"; } }

    exiftoolを使ってff11のスクリーンショットにexifのCreate Dateを書く - 睡眠してません4
    nilab
    nilab 2014/08/18
    2014-08-17 - 睡眠してません3 : exiftoolを使ってff11のスクリーンショットにexifのCreate Dateを書く : 「print "exiftool -CreateDate='20$1:$2:$3 $4:$5:$6' $tmp"」
  • Perl の正規表現の「名前付き捕捉」がとても便利

    Perl の正規表現の「名前付き捕捉」がとても便利 2014-08-07-1 [Programming] Perlの正規表現で「名前付き捕捉」を使うと、マッチした部分に名前をつけておけるのであとから参照するときに便利。 「(?<name>...)」でマッチさせると、ハッシュ「%+」に保存されて、「$+{name}」でアクセスできるのです。同じ正規表現内では「\g{name}」など。 サンプルプログラムです。日付表現にマッチしたら、年、月、日をそれぞれ別途格納。そしてそれを正規化して出力。 サンプルプログラム: #!/usr/bin/env perl use strict; use warnings; while (<DATA>) { chomp; if (m{ (?<Y>[0-9]{4})\s?年\s? (?<m>[01]?[0-9])\s?月\s? (?<d>[0-3]?[0-9])\s

    Perl の正規表現の「名前付き捕捉」がとても便利
    nilab
    nilab 2014/08/07
    Perl の正規表現の「名前付き捕捉」がとても便利 : 「日付表現にマッチしたら、年、月、日をそれぞれ別途格納。そしてそれを正規化して出力」
  • [apache]CGI で (2)No such file or directory.

    INDEX [apache]CGI で (2)No such file or directory. 1  NI-Lab.  2002/08/13(Tue) 23:34 [apache]CGI で (2)No such file or directory. またやってしまった…… perlのパスが違ってた。 <症状> CGIにてInternalServerErrorが発生し、 apache/logs/error_log にこんなの↓が出力される。 [Tue Aug 13 22:xx:xx 2002] [error] (2)No such file or directory: exec of /usr/local/apache/htdocs/nibbs/nibbs.cgi failed <原因> CGIを実行させるためのプログラム(Perlとか)がみつからない。 <原因の原因パターン1> #!

    nilab
    nilab 2013/12/16
    _[apache]CGI で (2)No such file or directory.
  • YukiWiki

    2018年3月7日、 YukiWikiの運用ならびにスクリプトの公開を終了します。 このページの以下の部分は、 歴史的な意味合いで残しているものです。 目次 はじめに スクリプトのダウンロード(YukiWiki2) スクリプトのダウンロード(YukiWiki1) 最もシンプルなWiki(YukiWikiMini) 謝辞 更新履歴 はじめに YukiWiki (結城ウィキ)は参加者が自由にページを追加・削除・編集できる不思議なWebページ群です。 Web掲示板とちょっと似ていますが、 Web掲示板が単にメッセージを追加するだけなのに対して、 YukiWikiは、Webページ全体を自由に変更することができます。 YukiWikiは、 Cunningham & CunninghamのWikiWikiWebの仕様を参考にして作られ、 多くの人からのフィードバックを受けてゆっくり成長しています。 Y

    nilab
    nilab 2013/11/19
    YukiWiki
  • モダンPerlリファクタリング #yapcasia

    YAPC Asia 2013

    モダンPerlリファクタリング #yapcasia
    nilab
    nilab 2013/09/21
    モダンPerlリファクタリング #yapcasia // Speaker Deck
  • んだっちゃだれ Sendai.pm - YAPC::Asia Tokyo 2013 LT

    Experiences and Thoughts on Indigenous Business and Economic DevelopmentWayne Dunn

    んだっちゃだれ Sendai.pm - YAPC::Asia Tokyo 2013 LT
    nilab
    nilab 2013/09/21
    んだっちゃだれ Sendai.pm - YAPC::Asia Tokyo 2013 LT
  • CartonとcpanmでCPANモジュールをローカルインストールして使う - ももいろテクノロジー

    PerlでCPANモジュールをローカルインストールして使うには、Cartonを使う。 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 12.04.2 LTS Release: 12.04 Codename: precise まず、apt等のパッケージマネージャでCPANのパッケージマネージャcpanmをインストールする。 また、XSモジュールを入れる際のコンパイルに必要となるmake等の開発コマンドも事前に入れておく。 $ sudo apt-get install build-essential $ sudo apt-get install cpanminus 次に、cpanmを使って(グローバル環境に)Cartonをインストールする。 $ sudo cpan

    CartonとcpanmでCPANモジュールをローカルインストールして使う - ももいろテクノロジー
    nilab
    nilab 2013/09/09
    CartonとcpanmでCPANモジュールをローカルインストールして使う - ももいろテクノロジー
  • perlモジュールのinstallにcpanmを使う - Perl - @OMAKASE

    当サイトのblogのエントリーで検索ワードが多いのはCPANなんですがこの古い記事はperl5.6時代に書いた記事(多分10年近く前だと思う)で今時のperl使いにお勧めできるものではありません。 2010年2月にあの miyagawa さんが書いた cpanminus が非常に素晴らしいので CPAN::shell を捨てて App-cpanminus を積極的に利用しましょう。 と言うことでcpanに関連して新しい記事を書いてみました。 CPAN::shell の欠点 設定が面倒 動作が遅い(cpanmと比較して) 多くのメモリが必要(制約のきついレンタルサーバで使うのは無理) 依存するモジュールが多い 基root権限が必要 cpanm の利点 一枚岩のプログラムで可搬性に優れる 高速で小メモリでも動作可能 pluginで拡張できる local::lib と組み合わせるとユーザーラン

    nilab
    nilab 2013/09/09
    perlモジュールのinstallにcpanmを使う|perl|@OMAKASE : App-cpanminus
  • cpanm

    cpanm の紹介 cpanm は、Perlモジュールを取得して解凍しビルドしてインストールするコマンドです。 CPANモジュールのインストールには、長らく cpan コマンド(CPAN.pm)が利用されてきましたが、その使用メモリの多さや処理速度の問題、または分散リポジトリの普及などにより、新しい Perlモジュールのインストーラが望まれました。 cpanm は省メモリで cpanコマンドよりも速く、CPAN 以外にも github のリポジトリURL や どこかの tar を URL で指定してインストールできたり local::lib対応など、もっと便利に Perlモジュールのインストールまわりを扱うことができます。 cpanm のインストール git が使えるなら、以下のようにするのが簡単です。 # git clone git://github.com/miyagawa/cpanm

    cpanm
    nilab
    nilab 2013/09/09
    「cpanm は、Perlモジュールを取得して解凍しビルドしてインストールするコマンドです」cpanm - @bayashi Wiki
  • Perlbrew

    perlbrew is an admin-free perl installation management tool. The latest version is 0.98, read the release note: Release 0.98. For a quick installation, do this: \curl -L https://install.perlbrew.pl | bash Check the document of Installation for more descriptions and options. Quickstart After installing perlbrew itself, now it is time to install some versions of perl To install the latest stable rel

    nilab
    nilab 2013/09/09
    Perlbrew
  • perlbrewで構築するモダンなPerl環境 | シーズクリエイターズブログ

    perlbrewで構築するモダンなPerl環境 Posted 2012年12月11日 by uchiyama & filed under プログラミング. モダンなPerl環境構築方法をご紹介したいと思います。 perlbrewは、ホームディレクトリに複数のperlをインストールして切り替えをしてくれるツールです。 perlbrewのインストール 以下のようなコマンドを実行すると、prebrewをインストールできます。 $ curl -kL http://install.perlbrew.pl | bash perlbrewのインストール方法はいくつかあります。 他の方法は以下のサイトを参照して下さい。 http://perlbrew.pl/ perlbrewコマンドを使うためにインストールされたコマンドにパスを通す設定が必要です。 bashならbashrcに以下のような設定を書くと

    nilab
    nilab 2013/09/09
    「perlbrewは、ホームディレクトリに複数のperlをインストールして切り替えをしてくれるツールです」perlbrewで構築するモダンなPerl環境 | シーズクリエイターズブログ
  • 標準Perl+CPANから、Perlbrew+cpanmへ乗り換え

    複数バージョンのPerlを管理、切り替えできるPerlbrewのインストールメモ。 perlbrewのインストール まず最初に、インストール先の設定を行う $ export PERLBREW_ROOT=$HOME/.perlbrew その後、続けてperlbrewのインストール $ curl -L http://xrl.us/perlbrewinstall --insecure | bash perlbrew初期設定 以下のコマンドで、初期設定を行う $ ~/.perlbrew/bin/perlbrew init $ echo 'source ~/.perlbrew/etc/bashrc' >> ~/.bashrc $ source ~/.bashrc perlのインストール お好みで、バージョンを変更してください 現時点での安定版は、5.14.2なので、5.14.2のインストールを行いま

    標準Perl+CPANから、Perlbrew+cpanmへ乗り換え
    nilab
    nilab 2013/09/09
    標準Perl+CPANから、Perlbrew+cpanmへ乗り換え