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 関数について次のように書かれていました。 ここで本当に素晴らしい機能を披露しま
Hi Apache Friends! We just released a new version of XAMPP for Windows for PHP versions 8.2.12, 8.1.25 and 8.0.30. New versions for Linux and OS X will come soon! You can download these new installers... 更に詳しく » Apache Friends について Apache Friends は、Apache ウェブ サーバーの振興を行う非営利プロジェクトであり、XAMPP プロジェクトの本拠地でもあります。XAMPP は、インストールが簡単な MariaDB、PHP、および Perl を含む Apache ディストリビューションです。. Read more »
省略可能な 1 番目の引数にはスクリプトの終了時にスクリプトが返すスタータスコードを指定します。省略された場合はステータスコードとして 0 が使用されます。一般的にプログラムが正常に終了した場合はステータスコードとして 0 を返し、正常ではない終了をした場合は 0 以外の値(例えば 1 )をステータスコードとして返します。 なお exit 関数が実行された時点でプログラムは終了しますが、特殊なルーチンである END ルーチンなどは終了前に実行されます。( END ルーチンとはデストラクタのようなものです)。 具体的には次のように記述します。
Perl is a programming language suitable for writing simple scripts as well as complex applications — see https://www.perl.org. Strawberry Perl is a perl environment for MS Windows containing all you need to run and develop perl applications. It is designed to be as close as possible to perl environment on UNIX systems. It includes perl binaries, compiler (gcc) + related tools, all the external lib
気軽にPerlの最新版を使いたい! Rubyをしっかり使っていきたと思っているのですが、 最近何故か仕事でPerlを使う機会が多いです。 仕事で使うならしょうがないので、 ちょっと本腰を入れてPerlを勉強しようとリャマ本を買いました。 リャマ本で扱っているPerlのバージョンは5.14です。 しかしながら、CentOS 6のPerlのバージョンは5.10 コマンドを叩いてみると、ほれ [bacchi@bacchi ~]$ perl -v This is perl, v5.10.1 (*) built for i386-linux-thread-multi perl-5.10!! よろしい、ならばバージョンアップだ と思いましたが、ソースから入れんのも邪魔臭い。 何かいい具合にPerlのバージョンをあげられるのはないものかと探しました。 ありました! その名も perlbrew なんかho
まずはじめに、2021/2時点でgRPCがサポートされている言語にはPerlは含まれていなく、公式にはサポートされていません。 現時点でと言ったものの将来的にもサポートされることがないだろうことからPerlでgRPCを扱うのは茨の道といえるでしょう。 おとなしくgRPC transcodingしてHTTP REST APIで叩きましょう、というのがほぼ答えなのですがCPANに公開されているライブラリを使ってどこまでできるのかを検証するのがこの記事の目的です。 題材 gRPCで通信といっても、サーバとクライアントのどちらをPerlで実装するかという話になりますが、今回実装するのはクライアントです。 他の言語で書かれたマイクロサービスからPerlと通信することを想定して、手軽な例としてGAPIC Showcaseのサーバと通信することにしてみます。 github.com google.show
Perl5.10からは、とても便利なDefined-or演算子「//」が導入されました。スラッシュが二つ続く演算子です。とっても検索しにくいので、早めに覚えておくのがいいと思います。近年の機能追加では、僕的には一番お勧めの機能ですね。 # Defined-or演算子 // Defined-or演算子は、左辺が定義されている場合は、左辺値を返却し、未定義の場合は右辺値を返すという動作をします。 # 右辺が代入される my $value = undef // 'default'; # 'default' # 左辺が代入される my $value = 0 // 'default'; # 0 my $value = '' // 'default'; # '' my $value = 'foo' // 'default'; # 'foo' これは、値が与えられなかった場合のデフォルト値を定義するのに
[B]フォーマットのカスタマイズ フォーマットを自由にカスタマイズしたい場合はstrftimeメソッドを使用します。$formatには時刻の表現を指定します。 $t->strftime($format) 日付と時刻をフォーマット化したサンプルです。 $t->strftime('%Y-%m-%d %H:%M:%S'); # 2009-11-34 12:14:15 strftimeで使用できるフォーマットの一覧です。 %a : 曜日の省略名 %A : 曜日名 %b : 月の省略名 %B : 月名 %c : デフォルトのフォーマット %C : 年の最初の2桁 %d : 日( 01 から 31 ) %D : %m/%d/%y と同じ。月日年 %e : 日( 1 から 31 ) %F : %Y-%m-%d と同じ( 2008-11-31 など ) %G : 年4桁。ISO 8608形式の年週が前年・
$ paste <(cat score | grep -oP '[^\d]+') <(cat score | grep -oP '\d+') | xargs -n 2 #シェル芸— ぐれ (@grethlen) 2014, 6月 14 上記のようにgrepコマンドを叩いていたら「-oPってオプションなに?」と言われたので。 grep -oPって? -oオプションとは --only-matchingの略。マッチした部分のみを抽出するというオプションのこと。 $ echo "123abc456dfg" | grep -o [a-z] a b c d f g -Pオプションとは マッチさせる文字列にPerlで使われているものと同じ正規表現(Perl正規表現)をつかえるようにする。PerlのP。 普通の正規表現とPerl正規表現の違いって? 主に以下の3つ。 一部のメタ文字が使える [参考] \d
Perlの正規表現の解説です。この記事を読めば、日常で利用する正規表現のすべてを短時間でマスターすることができます。正規表現を使えば、文字列の集合を表現することができ、正規表現にマッチする文字列を検索したり、置換したりすることができます。 正規表現を使って文字列の集合を表現できます。たとえば「a」「aa」「aaa」という三つの文字列を正規表現で表現してみましょう。連続する文字の個数を表現する正規表現「{}」を使って次のように書くことができます。 a{1,3} 「a」「aa」「aaa」という文字列の集合をひとつの正規表現「a{1,3}」で表しています。{}は量指定子と呼ばれるもので、連続した文字を表現することができます。 a aa -> a{1,3} aaa 正規表現の例をもう一つみてみましょう。「p1」「q1」「r1」という文字列の集合をひとつの正規表現「[pqr]1」で表すことができます
for (初期化式(1.値を初期化) ; 条件式(2.条件) ; 増減式(3.値を更新)){ 実行される処理 } 処理を繰り返す時に使用します。最初にforを書くのでfor文と呼ばれます。繰り返しはループとも呼ばれます。 初期化式は、最初に1回だけ実行されます。 使用する変数をカウンター変数またはループ変数といいます。変数名はiやjがよく使用されます。 条件式がtrueの間、処理を繰り返します。 増減式(3.値を更新)でカウンター変数/ループ変数の値が変わります。 条件式がfalseになるとループ処理を終了します。 for文のサンプル #! /usr/bin/perl use strict; use warnings; for (my $i = 0; $i < 5; $i++) { print $i; # 0 1 2 3 4 が出力される } 5行目は、初期化式($i = 0)によりi は
未だ現役なPerl5.8 & MySQL4.0とどう戦うか? ライブドアブログが生んだカオスとレガシーからの脱却 Inside of Blog 15年熟成されたサービスの光と影、カオスとレガシーへの挑戦 #2/2 2019年11月20、21日の2日間、LINE株式会社が主催するエンジニア向け技術カンファレンス「LINE DEVELOPER DAY 2019」が開催されました。1日目は「Engineering」をテーマに、LINEの技術の深堀りを、2日目は「Production」をテーマに、Web開発技術やUI/UX、プロジェクトマネジメントなど、より実践的な内容についてたくさんのプレゼンテーションが行われました。「Inside of Blog; 15年熟成されたサービスの光と影、カオスとレガシーへの挑戦」に登壇したのはLINE 開発Bチームの大森貴博氏。後半パートとなる今回は、現役で稼
繰り返し処理の中で指定した回数だけ繰り返し処理を行うには for 文を使うと便利です。ここでは Perl における for 文を使った繰り返し処理を行う方法について解説します。
Perl ワンライナーでシェル変数を渡すには -s オプションを使えばよい。 書式 perl -se '...' -- -Perlで使う変数名=シェル変数名 実行例 $ FOO=bar; perl -sle 'print $var' -- -var=$FOO bar 参考 sオプションを使います echo -e "hogehoge\nfugafuga" > myfile.txt var="hogehoge\n";cat myfile.txt | perl -pse 's/$shell_var//' -- -shell_var=$var [小ネタ]perlワンライナーにシェル変数を渡す - Qiita -s コマンドライン上のプログラム名の後から、ファイル名引数 (または引数 --) の前までのスイッチのための、原始的な解析を 行なえるようにします。 ここで見つかったスイッチは、@ARGV
Chops off the last character of a string and returns the character chopped. It is much more efficient than s/.$//s because it neither scans nor copies the string. If VARIABLE is omitted, chops $_. If VARIABLE is a hash, it chops the hash's values, but not its keys, resetting the each iterator in the process. 文字列の最後の文字を切り捨てて、その切り取った文字を返します。 文字列の検索もコピーも行ないませんので s/.$//s よりも、ずっと効率的です。 VARIABLE が省略されると
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く