タグ

ブックマーク / qiita.com/xtetsuji (9)

  • 標準添付の Math:: モジュールのご紹介 - Qiita

    基礎寄りの話になりますが、Perl5 でもコアモジュール(最初から入っているモジュール)で大きな数の計算などを簡単に行うことができます。 Perlより後発の言語がたくさん出てきて、Perlを主に書いていると「数値計算なら○○です」といったことを言われることが多いです。でも、ちょっとしたことであればPerlでも書けますし、CPANモジュールで結構まかなえたりします。 Perl数学や数値計算のお話は、意外とメジャーじゃないのかなと思っ て、今回このテーマで書くことにしました。 より高度なモジュールについては割愛して、Perl を入れてすぐ使えるコアモジュールに焦点をあててみることにしました。 Math::なんとか といった名前空間のモジュールをここでは「Math:: モジュール」と書いています。 perldoc perlmodlib を見ると、数学っぽいコアモジュールをいくつも見つけることが

    標準添付の Math:: モジュールのご紹介 - Qiita
  • 標準エラー出力にだけ色を付ける - Qiita

    概念としては別のものですが、標準出力と標準エラー出力は通常同じ端末の画面に出ます。 「標準エラー出力、色分けくらいしてくれれば便利なのに」と思っていましたが、以下のように プロセス置換 (Process Substitution) を使うことで一行に収めることができます。 まず標準入力に色を付けて標準出力に流すスクリプトを用意します。書かずとも既にあるという場合はそれを使っても です。 #!/usr/bin/perl use strict; use warnings; use Term::ANSIColor qw(colored); my $color = shift || "red"; while (<>) { print colored($_, $color); }

    標準エラー出力にだけ色を付ける - Qiita
  • Perl のグローバル変数 $a と $b の詳解 - Qiita

    先日「Perl のグローバル変数やレキシカル変数について - Qiita」という記事を書きました。 グローバル変数がパッケージと紐付いているという話までくると、型グロブといったリファレンス前夜の Perl 4 の時代に行われていたグローバル変数によるプログラミング手法まで話が広がるのですが、少々長くなりすぎることもあり、以前の記事はあの分量に収めました。 型グロブの詳解も含めた一般的な Perl のグローバル変数についてのお話はいつかするとして、グローバル変数という話で忘れられないのは sort 関数で使われる $a $b という変数です。この記事では sort 関数の基礎や $a と $b の正体を解明しつつ、sort 関数のような $a と $b を受け取って何かするブロックを伴うような関数を自作する方法を解説します。 sort 関数と $a と $b (※ sort のブロックについ

    Perl のグローバル変数 $a と $b の詳解 - Qiita
    kaz_hiramatsu
    kaz_hiramatsu 2016/05/24
    Perlのsortは使いにくいからなあ。文字列と数値比較をうっかり間違えることも多いし
  • Perl のグローバル変数やレキシカル変数について - Qiita

    Perl にはいくつかの変数宣言があります。 my our local state my による変数宣言は多くの書籍で解説されていておなじみのものですが、それ以外の変数宣言の意味がイマイチわからないという声も聞きます。というわけで、ざっとまとめてみました。 use strict が無かった時代 モダンな Perl では、use strict を書いた上で、使用する変数は my を使って宣言をするということが常識となりました。 とはいえ太古の昔は use strict もなく、変数も宣言することなく使用していました。いわゆるグローバル変数だけの世界です。 まさに原始的なシェルスクリプトの世界に近いですが、今では好ましい書き方とはされません。スコープを狭めたり、初出の変数であることを明示したりといったことを my で行うことが好ましいとされています。Perl も例に漏れず、プログラミング言語で

    Perl のグローバル変数やレキシカル変数について - Qiita
  • サブコマンドを持つコマンドを作るシェルスクリプトのスタイル - Qiita

    サブコマンドは今時のトレンド ここでサブコマンドと呼んでいるのは、yum や git のように、第1引数にさらにコマンドのような文字列が続くものです。 このようなコマンドは apt 系などのパッケージコマンドや cvs 以降のバージョン管理システムなどでもおなじみでしたが、git の登場によって一気に一般的になった気がします。 書籍「UNIXという考え方」 ではコマンドは単機能であるべきということが書かれていますが、昨今はそこそこ複雑な機能を持ったコマンドが多く、この原則は通用しなくなってきているように思えます。 もっとも、サブコマンドが今までのコマンドに相当する部分で、サブコマンドを持つコマンドは名前空間であったり Facade パターンであったりといった解釈をしたほうがいいかもしれません。 最近でも aws コマンドなどもサブコマンドの模範例となっている感じです。 対して一番厄介なのが

    サブコマンドを持つコマンドを作るシェルスクリプトのスタイル - Qiita
  • 何もしない組み込みコマンド ":" (コロン)の使い道

    Bash でシェルスクリプトを勉強していくと出会うのが : (コロン)という名前の組み込みコマンド。このコマンドは何もしないコマンドです。 こんなコマンドの存在は不思議だなと思う反面、C言語にも void という型があったり(関数のような形で存在するのは JavaScript とかですね)、LaTeX にも \relax があったり、何もしない命令というものは機械語の NOP からある普通のものです。 この Bash の : の使い道についてまとめてみました。 何か書かなければならないところに仮置きする 例えば「ここに制御構造を置くんだけど、この節に入るものは後で書くんだけどな〜」といった場合、制御構造の節の中に何も書かないと Bash は構文エラーとなります。 #!/bin/bash arg="$1" if [ -z "$arg" ] ; then echo "デフォルトモード開始" e

    何もしない組み込みコマンド ":" (コロン)の使い道
    kaz_hiramatsu
    kaz_hiramatsu 2016/02/13
    :知らなかった。。こんな可読性の高い記号をこんなところに使うのもbashらしい
  • pecoの基礎の基礎 - Qiita

    「pecoってツールらしきものが流行っている」と思いつつ、導入とか難しそうと思って後回しにしていたんですが、気がついたら自分の手元のbash設定ファイルにpecoを使う関数が定義されていたので、改めて初歩からやってみました。 説明に使用しているシェルはお馴染みのbashです。 pecoとは GitHubのpecoのサイト とてもシンプルなツールで 「標準入力から受けた行データをインクリメンタルサーチして、選択した行を標準出力に返す」 コマンドです。 シンプルゆえに様々な組み合わせで効果を発揮します。あらゆる場面での選択肢を標準入力に渡して、選択された結果を標準出力から受け取って加工してコマンド実行をする、というのが基的な流れ。 説明じゃ伝わらないので実例を体験したほうが早いかも。 peco のインストール pecoで検索すると「pecoはGoでできている」とか出てきて「Goってなんぞや」

    pecoの基礎の基礎 - Qiita
  • Perlの正規表現の一行モード(/s)と複数行モード(/m)の覚え方 - Qiita

    $str =~ /^--/m and print "複数行モードでマッチ\n"; $str =~ /<script.*?<\/script>/s and print "一行モードでマッチ\n"; 定義が分からない方は、後述で定義を解説しています。 一般に Perl では マッチ m// や置換 s/// の右側(左側ではないことに注意)に伴う上記の m や s のような英文字のことを修飾子 (modifier) と言います (see: perlre)。 私はこれをよく間違えたり忘れたりするので、こんな覚え方を考えてみました。 そもそも名前がややこしい 一行モード(Single line mode) m//s は、ドット(.)が 「複数行」 にわたってマッチするようになる 複数行モード(Multiple line mode) m//m は、"^" "$" が 「一行」 ごとにマッチするように

    Perlの正規表現の一行モード(/s)と複数行モード(/m)の覚え方 - Qiita
  • Mojoliciousでわからない事があったらどこで聞けばいい? - Qiita

    語リソースも充実しつつあるMojolicious。国内でもそうですが、世界的にもユーザ数が多いサービスではありますが、なかなか具体的な活用事例が出てきていない感じもします。 潜在的にMojoliciousの国内ユーザは多いと思うのですが、では困ったときにどこで聞けばいいのか、よくわからないユーザが多いと思いますので、私が知っている場所をいくつかご紹介します。 なお、私自身も英語が苦手なので、ここでは日語で質問が出来る場所に限定しています。 各地のPerl Mongerの集まり「地域.pm」 Hachioji.pm などの Perl Monger の集まりに参加すると、その中に一人くらいはMojoliciousユーザがいることでしょう。そういう人に質問をぶつけてみると良いでしょう。 顔と顔を付き合わせて聴くことが出来る生の声は一番です。 主だった地域.pmを列挙しておきます。お近くの地

    Mojoliciousでわからない事があったらどこで聞けばいい? - Qiita
  • 1