タグ

2015年3月3日のブックマーク (13件)

  • Perl - 関数 - sprintf

    %c : 文字コードによる文字指定 %s : 文字列 %d : 整数 %u : 符号無し整数 %o : 符号無し整数(8進数) %x : 符号無し整数(16進数) %e : 浮動小数点数(#.######e+###) %f : 浮動小数点数 # 文字コードによる文字の指定 print sprintf("文字コード指定 : %c%c\n", 48, 49); $a = "test"; # 文字列 print sprintf("文字列 : %s\n", $a); # 文字列(桁数指定・右寄せ) print sprintf("文字列(桁数指定・右寄せ) : %10s\n", $a); # 文字列(桁数指定・左寄せ) print sprintf("文字列(桁数指定・左寄せ) : %-10s\n", $a); $b = 50; # 整数 print sprintf("整数 : %d\n", $b);

    kathew
    kathew 2015/03/03
  • 配列と繰り返し処理

    配列と組み合わせて繰り返し処理を行う場合、 for 文または foreach 文を使うことが多いです。 for文と配列の組み合わせ 配列名が @array だった場合、配列の最後の要素のインデックスは $#month に格納されているので、 for 文使って配列の要素に格納されている値を最初から最後まで順に取り出す場合は次のような記述を行います。

    配列と繰り返し処理
  • Perlプログラムでアラートを表示する方法 - OKWAVE

    Perlのif文を使用してフォルダの存在をチェックし、存在しない場合にアラートを表示させる方法について詳しく説明します。 現在、Perlにてチェックプログラム(チェック内容は省かせていただきます)を作っています。 もともとはweb上で「登録」をクリックすると以下のような csh で記述されたcgiが実行され、 ------------------------------ #!/usr/bin/csh echo "Content-type: text/html" echo "" ~中略~ ./既存プログラムA.exe ------------------------------ 最終的に「既存プログラムA.exe」が起動するというような物で、今回この「既存プログラムA.exe」が起動される直前にチェックプログラムを実行するというものです。 前置きはこのような感じで、教えていただきたい内容は、

    Perlプログラムでアラートを表示する方法 - OKWAVE
  • Perlでの複数行コメント

    [Perl] Perlでコメントを入れるには#を使用します。#は行単位でのコメントとなりますので、複数行にまたがるコメントを入れたい場合はperlのPOD機能を使用します。 [行単位のコメント]

  • 第7章 正規表現

    正規表現とは、ある特定の文字列ではなく、文字列の一部をパターン化して表現する手法をいいます。 複数行ある文章の中から文字列を検索する時に、検索したい文字列すべてを指定するのではなく、文字列の任意の一部を置き換え可能な状態にして検索をする場合に正規表現を用います。 たとえば、UNIXやWindowsでは、文字列を検索するときに使用される正規表現として、「*」を任意の文字列(空き文字も含む)に、「?」を任意の1文字として使用することができます。パターンを、app* と表現すると、 apple application appeal などの文字列がマッチすることになります。 この正規表現の方法は、当然ながらプログラム言語ごとに異なりますが、Perlの場合は他の言語に比べて非常に強力な正規表現によるパターンマッチ機能を備えており、より詳細にかつ容易にパターンマッチを行うことができるとされています。

  • 数字を3桁ごとにカンマで区切る - Perlリファレンス

    $num=~s/(\d{1,3})(?=(?:\d{3})+(?!\d))/$1,/g; 正規表現の拡張構文を使って1行でできます。 まず、 (\d{1,3}) が、数字1-3桁にマッチ。 一致した場合は$1はこの部分の数値となる。 (?=(?:\d{3})+(?!\d)) 続く部分は拡張構文なので一致の確認は行うが置換対象にはならない。 拡張構文の中にさらに拡張構文が入ってます。 (?:\d{3})+ 数字3の倍数桁に一致。 (?!\d) 続く文字が数字以外。 例 $num=1234567890; $num=~s/(\d{1,3})(?=(?:\d{3})+(?!\d))/$1,/g; 一番最後の文字が数字以外に一致ですので、末尾のみ一致する。 その前が数字3桁の倍数890、567、234、に一致。 その前の1-3桁の数字は「1」ですので、$1==1。 これで「1」が「1,」に置換される

  • Perl/演算子 - Wikibooks

    演算子とは、1つ以上のオペランドを伴って式を構成する構文要素です。 オペランドの数によって、単項演算子・二項演算子・三項演算子に分類されます。 同じ記号を使っても、単項演算子だったり二項演算子であったりする演算子もあります。 問えば、符号反転-$xと減算$x - $y は、同じ記号 - を使います。 さらに、デクリメント--$x も、同じ記号 - を使います(--で1つのトークンで間に空白などは入れられません)。 また。Perlの演算子は、オペランドの型を演算子の想定する型に強制的に型変換され演算が行われます。 $x + $y # 加算。オペランドが数値でない場合は数値に変換してから加算。 $x . $y # 結合。オペランドが文字列でない場合は文字列に変換してから結合。 $x x $y # 繰返し。左オペランドの文字列とみなし、右オペランドを数値とみなし、その回数だけ繰り返す。 このよう

  • リダイレクト - futomi's CGI Cafe

    CGIにおいて、リダイレクトの使い道はいくつかあります。たとえば、アンケートやメール送信フォームで、送信した後に、「ありがとう」ページを表示するにはどうすればいいでしょう。 一つの手としては、CGIによって「ありがとう」ページを出力させることができます。ただこの方法だと、もし「ありがとう」ページを更新したい場合には、CGIスクリプト自体を書き換えてあげなければいけません。もちろんFrontPageやホームページビルダーのようなホームページ作成ツールを使って書き換えることはできません。もし定期的に更新したい場合などは、非常に手間がかかります。 もう一つの手として、リダイレクトがあるのです。リダイレクトするためには、その「ありがとう」ページを事前に作成しておく必要があります。ただ単に、HTMLファイルを作成すればよいのです。これをサーバにアップロードします。そして、CGI側で、その「ありがとう

  • 引数を指定してサブルーチンを呼び出す

    サブルーチンを呼び出すときに引数を指定することができます。引数として渡された値ははサブルーチンの中で参照することができ、実行する処理の中で利用できます。ここでは Perl のプログラムで引数を指定してサブルーチンを呼び出す方法について解説します。

    引数を指定してサブルーチンを呼び出す
  • 正規表現 - 2部 Perl言語仕様 - [SMART]

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

    正規表現 - 2部 Perl言語仕様 - [SMART]
  • PerlによるCSVファイルの高速集計

    はじめに Perlと言えば、いまだにCGIを思い浮かべる人は多いと思います。しかし、Perlは決してそれだけの言語ではなく、その言語仕様はテキストファイルを処理し、集計結果をレポートするのに非常に向いています。特によく利用されるテキストファイルとして、CSV形式が挙げられます。CSVを集計したい場合、Excelに読み込ませて集計関数やマクロを駆使しているという人も多いかと思いますが、Perlを利用することで、高度な集計作業を簡単かつ高速にできます。 稿では、筆者がPerlCSV集計を行う際によく使うノウハウを紹介したいと思います。 対象読者 まだ、PerlCGIと思っている方。 65,536件を超える大量のCSVデータを前に、手も足も出なくなっている方。 必要な環境 テキストエディタ。 Perl 5.8.X。ただし、ほとんどのコードはそれ以下のバージョンでも動きます。 Perlのイン

    PerlによるCSVファイルの高速集計
  • 【git】特定のコミットまで戻す - inari blog (@inari111)

    2014-05-18 【git】特定のコミットまで戻す Git どこまで戻すか決める コミットの履歴を確認する $ git log commit ************************ ハッシュ値をコピる commit以下の文字列 戻す $ git reset —hard ハッシュ値 tky-24 2014-05-18 00:23 【git】特定のコミットまで戻す Tweet 広告を非表示にする コメントを書く « 【Sublime Text3】CSSをリアルタイムで更… 【git】 いらないbranchを削除する »

    【git】特定のコミットまで戻す - inari blog (@inari111)
    kathew
    kathew 2015/03/03
  • お互いに依存しているrpmパッケージをインストールする方法 - くろのまったりシステム開発日記。

    Red Hat Enterprise Linux 5にOracle11gをインストールしようと、前提となるrpmを確認していると、「elfutils-libelf-devel-0.125」がインストールされていないことがわかりました。 早速「elfutils-libelf-devel-0.125-3.el5.i386.rpm」をインストールしようと思うと、「elfutils-libelf-devel-static-0.125」に依存している(依存性の欠如)とエラーになりました。 では、「elfutils-libelf-devel-static-0.125-3.el5.i386.rpm」をインストールしようとすると、今度は、「elfutils-libelf-devel-0.125」に依存している(依存性の欠如)とエラーになりました。 つまりAがBに、BがAに依存しているという形になっていまし

    お互いに依存しているrpmパッケージをインストールする方法 - くろのまったりシステム開発日記。