タグ

perlと解説に関するiwwのブックマーク (20)

  • substr のマジカルな挙動を再現したい - 無駄と文化

    Perl に substr という関数があります。文字列を部分的に切り出したり、部分的に置換できる関数です。 典型的な使い方はこんな感じ、 my $s = 'The black cat climbed the green tree'; # 4文字読み飛ばしてから5文字取り出す my $color = substr $s, 4, 5; print $color; # => 'black' # 14文字読み飛ばしてから7文字分を別の文字列で置換する substr $s, 14, 7, 'jumped from'; print $s; # => 'The black cat jumped from the green tree' さて、Perl 界隈で有名な書籍「初めての Perl」を読んでいたら、この substr 関数について次のように書かれていました。 ここで当に素晴らしい機能を披露しま

    substr のマジカルな挙動を再現したい - 無駄と文化
    iww
    iww 2023/06/30
    やっぱりperlってすげーな
  • Strawberry PerlをWindowsにインストールする - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説

  • NginxでCGIを動かそうと頑張った話 - Qiita

    この記事はnginxアドベントカレンダーの20日の記事です。 Nginx、いいですよね。速くて設定も楽で。 でもCGI使えません。今時CGIなんて使ってんじゃねーよ!という声もごもっともなのですが、用途が極めてニッチなアプリケーションの中には、未だにCGIのものも少なくないのです。その大きな大きな理由が、 Apacheで動いている旧態依然としたレンタルサーバ向けの用途を念頭に置いている というものです。 Why CGI CGIが、FCGIやWSGI等の新しい技術と比較して段違いに優位な点は、FTPでレンタルサーバの然るべき場所に然るべきパーミッションで設置するだけで使えるところです。これは比較的ネットワーク関連の知識がなくても、身内だけで該当ツールを用いて遊べればそれでいい、という人に対しては、敷居を下げる点で優位に働きます。 一方で、SSHも叩けない軟弱なサーバへの設置を良しとしない私の

    NginxでCGIを動かそうと頑張った話 - Qiita
  • inetd の仕組みを見てみる - naoyaのはてなダイアリー

    inetd や xinetd (以下 inetd) はインターネットサービスをデーモン化するのに共通している処理を担い、ほとんどの時間をアイドル状態で過ごすその手のサービスに必要なリソースを節約する役割を果たします。 inetd のひとつ面白いところは、inetd でサービス化したいプログラムの標準入力/標準出力がクライアントソケットの入出力に接続されるところです。例えば daytime 相当のサービスを自分で作ろうと思った場合 #!/usr/local/bin/perl # daytime.pl use strict; use warnings; use DateTime; use IO::Handle; STDOUT->autoflush(1); STDOUT->printf( "%s\n", DateTime->now(time_zone => 'Asia/Tokyo') ); と標

    inetd の仕組みを見てみる - naoyaのはてなダイアリー
  • Perlのuse - mikedaの日記

    Perlでuseを使ってモジュールをインポートする場合、 use Cwd; というモジュール指定と、 use Cwd qw(realpath abs_path); という関数を個別に指定する方法がある。 (面倒なので関数とだけ書いてますが変数でもなんでも) 両方の指定方法を同時に使用することもできます。 どちらでもCwd::がmain::のシンボルテーブルに読み込まれることは同様で、Cwd::realpath(".");等、モジュール名から辿る方法で定義された関数にアクセスできるようになります。 じゃ、違いはというと、 上の指定方法だとモジュール内の@EXPORTで指定された関数がmain::テーブルにロードされる。 下の方法だと指定した関数だけがmain::テーブルにロードされる。 ということです。main::テーブルに読み込まれれば関数名だけでアクセスできますが、名前の衝突回避のために

    Perlのuse - mikedaの日記
  • How to daemonize a process

    iww
    iww 2014/03/28
    perlでのデーモン化について。 fork後に全ファイルクローズするにはどうしたら楽か、も。
  • Perl の map と grep を使う

    すしを奢らなければいけないなんて、バトンを渡されてから知りました。おいしい寿司がいたい sekimura です。 今回は使いこなすと気持ちよくて、使いすぎると気持ち悪いと言われてしまう grep と map の使い方について紹介します。この二つは文法がよく似ていて、同時に使われることも多いので一気に両方の使い方を覚えるのをおすすめします。 grep: 配列をフィルターする まずは、前回覚えた perldoc を使って grep とはなにかを調べてみましょう。 $ perldoc -f grep grep BLOCK LIST grep EXPR,LIST This is similar in spirit to, but not the same as, grep(1) and its relatives. In particular, it is not limited to usin

  • file_get_contents的な事がやりてえんだよ! - uzullaがブログ

    前置き メモです。 PHPでさくさくとファイル読み書きしていて、Perlだとなんでこんなクソ面倒くさいことをしないといけないんだ!って悩んでる人も参考になると思います。 情報提供makamakaさんです。 file_(get|put)_contents相当なのは use File::Slurp; #read $res = read_file('path/to/file.ext'); #write write_file("/path/to/file.ext", $some_data); 「俺はHTTPでゲットして保存したいんだよ!」 use File::Slurp; use Furl; $furl = new Furl(); $res = $furl->get('http://example.co.jp/file.jpg'); die $res->status_line unless $re

    file_get_contents的な事がやりてえんだよ! - uzullaがブログ
  • 日付をシンプルに扱う Date::Simpleモジュール - goryugo

    CPANが便利だということはわかってきたんだが、どういったモジュールを、どのように探せばいいのかは未だによくわからない。 そんな中、日付操作って面倒だと思ったときに見つけた、Date::Simpleモジュール。 怠惰な欲望に任せて検索すれば、結構便利なモジュールって見つかるのかもしれない。 プログラマーの美徳万歳 ついでにperlが再び面白くなってきたのでこんなを注文した Perlプログラミング救命病棟 (Programmer’s foundations) 作者: ピーター・J・スコット,トップスタジオ,伊藤直也出版社/メーカー: 翔泳社発売日: 2005/09/06メディア: 大型購入: 10人 クリック: 279回この商品を含むブログ (71件) を見る Date::Simpleモジュール 使い方メモ CPANを使わずに、直接モジュールをダウンロードして使う。 ftp://ftp.

    日付をシンプルに扱う Date::Simpleモジュール - goryugo
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • perlembed - C プログラムに perl を埋め込む

    名前 perlembed - C プログラムに perl を埋め込む 説明 前書き あなたの欲しいのはどれ? Perl から C を使う perlxstut, perlxs, h2xs, perlguts, perlapi を読みましょう. Perl から Unix プログラムを使う バッククオート及び perlfunc にある system と exec を読みましょう. Perl から Perl を使う "do" in perlfunc 及び "eval" in perlfunc, "require" in perlfunc, "use" in perlfunc を読みましょう. C から C を使う 構成を考え直してみましょう. "><C から Perl を使う> このままどうぞ... 道のり C プログラムのコンパイル C プログラムに Perl インタプリタを追加 C プログラ

  • each()は遅い上に微妙な問題も起きやすい - Islands in the byte stream (legacy)

    特別な条件がないかぎり、each()は使うべきではありません。代わりにkeys()/values()を使うべきです。その理由は2つあります。 each()は遅い each()でハッシュ全体をループするのは遅いです。これは、keys()/values()がその内部の値をそのまま参照する*1のに対し、each()は代入しないとその値を使えないからです。 ベンチマーク: #!perl use strict; use warnings; use Benchmark qw(cmpthese); my %hash = map { $_ => $_ } ( 1 .. 10000 ); cmpthese -1, { each_k => sub { while(my $key = each %hash) { } }, each_kv => sub { while(my($key, $value) = eac

    each()は遅い上に微妙な問題も起きやすい - Islands in the byte stream (legacy)
  • タイムアウト処理 - futomi's CGI Cafe

    処理に時間がかかりそうな処理を書く際、タイムアウト時間を設定して、それを超えても処理が完了しなければ、 エラーを表示するような処理が必要になることがあります。 特に、ソケットを使って外部サーバーと通信する場合などがあてはまります。 もし相手のサーバーからの応答が無かったらどうなるでしょうか。 応答があるまで待ち続けることになります。 または、ブラウザー側が見切りをつけて待機することをやめてしまうでしょう。 もしご利用のレンタルサーバーに CGI の処理時間に制限があれば、Internal Server Error となるでしょう。 ここでは、秒数を指定してタイムアウト時の処理ができるうようにする方法を解説します。 目次 タイムアウト処理の方法 タイムアウトの処理を実装する方法として、ALRM シグナルを使う方法を解説します。 シグナルとは、イベントが発生した際に、オペレーティングシステムが

  • [技術継承の現場] 範囲演算子について丁寧に説明してみる - NDiS Tech

    弊社では社内の若手技術者向けにLinuxPerlなどの講習会を行っています。講習会というとモノモノしいものを想像する方もいらっしゃるかもしれませんが、どちらかといえば和気あいあいと先輩が後輩に対して教える、いわば勉強会に近いスタイルです。 その講習の内容をきっかけに、社内ブログ等で話題が発展することもあります。このカテゴリではそんな話題をピックアップしてお届けしようと思います。ベテランプログラマには既知の初歩的な内容かもしれませんが、同様に疑問に思っていたひともいるかもしれませんし、また社内に対しては講習の補足にもなりますしなによりネタの再利用もできますし大変リーズナブルな企画ですね。 さて、まず最初はPerlの範囲演算子です。「..」というやつです。通称フリップフロップ演算子。これ、らくだではやや込み入った表現になっているせいもあるのか、いま一つピンと来ていないひともいるようです。

    iww
    iww 2011/02/04
    「数字だけを条件にすると行番号と比較する、という特別ルール」知らなかった
  • Perl第4回:PerlTips(コマンドラインオプション)

    HOMMEZ(オムズ)はすべての男性の悩みに寄り添い、心と身体の健康を支援し、男性としての喜びを享受できる社会を目指しています。人には相談しづらいAGA、ダイエット、ED、妊活にまつわる男性特有の悩みに対し、情報やソリューションを提供することで男性が前向きに自分らしく生きられる幸せを実現します。

    Perl第4回:PerlTips(コマンドラインオプション)
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

    iww
    iww 2010/09/23
    croak()
  • Perl Lesson 4

    キーボードからデータを読み込む スクリプトの実行中にキーボードからデータを読み込むには,以下のようにすればよい。代入演算子 = の左辺に指定された変数に値が代入される。 $var = <STDIN>; 読み込んだデータには [改行] ("\n") が含まれているので,まず最初に chomp で [改行] を削除することが多い。 ディスプレーに表示する STDOUT に出力すればディスプレーに表示される。しかし,リダイレクトすると STDOUT は出力先として指定されたファイルに結びつけられてしまうので,STDOUT に出力してもディスプレーには表示されなくなる。データの処理の出力先とは別に,ディスプレー自体に表示したいのであれば,STDERR を指定する。 出力 ──→ STDERR ──→ ディスプレー 出力 ──→ STDOUT ──→ ディスプレー リダイレクトすると... 出力 ─

    iww
    iww 2009/10/28
    特殊ファイルハンドル DATA
  • perl - use warnings; # -w でなくて : 404 Blog Not Found

    2008年06月19日21:45 カテゴリLightweight Languages perl - use warnings; # -w でなくて 最近は、さすがにuse strict;されていない実践コードを目にすることもほとんどなくなってきたのだけど、まだ残っているのがuse warnings;利用。以下と併せて読んでいただけると幸いだ。 404 Blog Not Found:perl - use strict; # and be happy -w って何? warnings って何? まず、以下のプログラムを見てみよう。 #!/usr/local/bin/perl use strict; sub distance { my ( $a, $b ) = @_; return sqrt( $a**2 + $b**2 ); } print distance(@ARGV), "\n"; % p

    perl - use warnings; # -w でなくて : 404 Blog Not Found
  • Perlのコンテキストを理解しよう - Perl入門ゼミ

    Perl › 構文 › here Perlにはコンテキストと呼ばれる概念があります。コンテキストとは文脈という意味で、次の二つのコンテキストがあります。 スカラコンテキスト リストコンテキスト スカラとして評価される文脈をスカラコンテキスト、リストとして評価される文脈をリストコンテキストと呼びます。 一例としてあげれば、localtime関数は、スカラコンテキストでは、日付・時刻を表示する文字列を返却し、リストコンテキストでは、日付・時刻情報をリストにして返します。 # スカラコンテキスト $date_string = localtime; # リストコンテキスト @date_info = localtime; もうひとつの一例をあげると、配列は、スカラコンテキストでは、配列の個数を、リストコンテキストでは、要素のリストを返します。 # スカラコンテキスト $count = @values

    Perlのコンテキストを理解しよう - Perl入門ゼミ
  • TAKESAKOさんの ppencode が何で動くのか分かった。 - masutaroの日記

    かなり古い話題かもしれませんが,ppencode の動作原理が分かったのでその感動を日記に記します。 僕は半年前ほど前からperlの勉強を始めましたが,始めてまだ間もない頃にppencodeを知って,これが何故動くのかが当時は全然分かりませんでした。 ppencodeって何?って方は下記URLを参照すると,分かります。’予約語プログラミング’なんてキーワードでググってみても関連情報が出てきます。 TAKESAKOさんのサイトでppencodeのデモが見れる http://www.namazu.org/~takesako/ppencode/demo.html id:naoyaさんのブログエントリ http://d.hatena.ne.jp/naoya/20050901/1125556355 上述したTAKESAKOさんのデモページで'test'の文字列を入れるとですね・・下記のようなppen

    TAKESAKOさんの ppencode が何で動くのか分かった。 - masutaroの日記
  • 1