perl

Perlの正規表現における「先読み/後読み」に関する私的まとめ

はじめに Perlの基礎文法をある程度身につけて、本職のプログラマーほどではないにせよ、趣味や自分の本業を助ける程度のことができるようになってくると、そのもう一段先、ぐらいのことを知りたくなってくる。現在のぼくにとってそれは正規表現の「先読み/…

carvo update

Perl製の英単語ゲーム `carvo` をけっこう大幅にアップデートしました。 GitHub - note103/carvo Macだと音声も出るようになっているので、音声付き動画も作りました。 6秒目ぐらいで急に音が出ます。 www.youtube.com 以下、つれづれに。 昨日も別のところ…

bashのエラーにハマって直った

最近は作業記録をけっこう細かい粒度で付けているのでわかるのだけど、昨日普段どおりに付けた最後の記録が 2017/06/14 Wed 13:07:02 今から**やる だったので(**の部分は業務内容なので割愛)、少なくともその時点までは正常だったのが、次の記録では …

crontabでPerlスクリプトを動かそうとしてハマった話

crontabとは 以下がわかりやすいです。www.server-memo.net@songmuさんによる以下のシリーズも充実しています。 gihyo.jpそのcrontabでPerlのスクリプトを動かそうと思ったところ、以下のようなハマり方をしたのでメモ。 crontabとは crontabはシステムPerl…

2つの配列から重複を弾く(Perlで)

いきなり例題から。以下のような2つの配列があるとき、 my @fruits1 = qw/orange banana apple lemon/; my @fruits2 = qw/orange banana/; @fruits1のうち@fruits2とカブるものをカットして、重複しないappleとlemonだけ@fruits1に残したいとする。こういう…

怖くないwhile

※おもにPerlの話です。非エンジニアながら趣味でプログラミングに入門したのが2013年の夏。そろそろ4年になろうとしているけど、Perlの基礎を学びはじめてからつい最近まで、一貫して怖かったのがwhile文だった。怖い、というのも変な気がするが、ようはすぐ…

最近よく使っている自作ツール(3) select.pl

TL;DR Transcript 余録 補足 TL;DR www.youtube.comちょうどひと月ぐらい空いてしまいましたが、以下のシリーズの続きです。note103.hateblo.jpnote103.hateblo.jp今回は、複数のファイルを直感的に選択して、それらに同じコマンドを渡すためのツールです。…

プログラミングを学ぶ理由

ひさしぶりに彼女とお茶を飲んで、まったり雑談していたら、不意に あなたがそんなに好きなプログラミングっていうの、私に教えてみてよ と煽ってきたので、彼女のMacBook AirのシステムPerlで、ターミナルから「Hello」が出力されるだけのコードを目の前で…

最近よく使っている自作ツール(2) delete.sh

前回に続き、掲題の件。 前回の内容は、以下。note103.hateblo.jp今回紹介するのは、以下。github.comと言っても、シェルスクリプト1本ですが。このツールには前段があって、以前にこのブログでも紹介した「trash」というソフトウェアがあるのだけど、note10…

最近よく使っている自作ツール(1) choco

プログラミングの学習にともない作った自分用のコマンドラインツールというものがあって、折りに触れこのブログでも記録&紹介しているのだけど、それでも以前に紹介した後に手元でどんどんアップデートしつつも外には出せていないものや、新たに作ったけど…

Perlにおける日本語文字化け対策の私的まとめ

環境づくり utf8プラグマ openプラグマ binmode関数 標準入出力もopenプラグマにまとめる まとめ 付録 Perlで日本語のテキストを処理しているとけっこうな割合で文字化けにハマる。 近いことについては以前ここでみっちり書いたが、 note103.hateblo.jp どう…

Perlのオブジェクト指向をつかんだ

経緯 概念 実例 参考書籍 まとめ・展望 経緯 2013年の春にふと「よし、プログラミングやろう」と決めてその夏にYAPC::Asiaに参加して、その直後に買ったのが以下の本。すぐわかる オブジェクト指向 Perl作者: 深沢千尋出版社/メーカー: 技術評論社発売日: 20…

正規表現の最短マッチに関するVimとPerlの違い

以前にも近い話題でひとつ書いたのですが、note103.hateblo.jpそれと重なりながらもちょっとズレるトピックでけっこうハマったので、おもに未来の自分用にまとめておきます。 例題 以下の文字列に対して、最初の apple だけマッチさせるパターンを考えてくだ…

textlintで日本語テキストの文字校正を試してみた

はじめに 導入 textlintrcを設置 最初のつまずき prh を使ってみる | 2度目のつまずき 追記: 絶対パスにも対応して頂きました prh を使ってみる(2) | 辞書を選ぶ 結果をテキストファイルに書き出す 追記: [39m[32m などを消す方法 コードを書く tx.sh text…

VimでMarkdownをカンタンにHTML化する

note103.hateblo.jp以前に上の記事を書いたのは、もう1年以上前のこと。だから、というわけでもないのだけど、少し方法がアップデートされているので差分を記してみておきます。まず、以前の方法を簡単にまとめると、 Markdown記法で何か書く。 自作の md2ht…

Perlで配列を1行ずつカンタンに出力したい

Perlの小ネタシリーズ。と言いつつ、文章はそこそこ長いです。 課題 さっそくですが、以下のような配列があるとして、 my @colors = qw/red blue orange green yellow/; このまま出力すると、 #!/usr/bin/env perl use strict; use warnings; use feature 's…

Perlの正規表現で後ろからマッチさせる

わかってみると単純ながら、けっこうハマったのでメモ。以下のような文字列があるとして、 my $fruits = '/apple/orange/grape/lemon/banana/'; このうち「lemon」の一つ前にある果物だけを取り出したい、とする。ただし、上記ではその果物が「grape」であり…

バッチ処理で複数ファイルを一気にリネームするPerlスクリプトを書いた

昨日の業務中、「普段はあまり遭遇しないがまれに生じる面倒な手作業」に遭遇し、「あ〜この作業、前から専用スクリプトで一括で済ませたいと思ってたんだよな〜」と思ったので、一旦作業の手を止めて猛然とコードを書いてみたら、それで問題をクリアできて…

Perlの正規表現で名前付きキャプチャとqr//演算子を使ってみた話

少し前にこのようなツール&記事を書いたのだけど、 note103.hateblo.jp簡単に説明すると、「URLを渡すとMarkdownの書式でそのページタイトル&URLを返してくれる」というもの。で、そのコードについて、Perl入学式でいつもお世話になっています @xtetsuji …

ファイルやディレクトリを対話形式でcp, mv, deleteなどするツールをPerlで書いた

以前に以下の記事で、rcopy.pl delete.pl という小さいツールを作ったと書いたが、 note103.hateblo.jpそれはそれで結構重宝していたのだけど(ついでに言うと同時に紹介した dirmove というのもひき続きかなり使ってる)、似たような感じでファイルやディレ…

暴走したPerlをとめるまで

追記2 以下本文の内容に関して、 id:hkoba501 さんが考察記事を書いてくださいました。 hkoba.hatenablog.comなんとありがたい……大変詳しく、何よりすごく勉強になります。 この後あらためて、じっくり拝読します。 id:hkoba さん、ありがとうございました!…

URLを入れたらWebページのタイトルを返すPerlスクリプト

掲題のツールを作りました。それも2種類。 DEMO-1 DEMO-2 ソースコード おまけ 告知 DEMO-1 一つめはシンプルに、コマンドラインでURLを入れるとMarkdown形式で「タイトル+URL」を返すというもの。上のDEMOでは、 http://tdoc.info/blog/2016/04/18/ansible…

最近作った小さなPerlスクリプト3点

ここ1〜2週間、とくに忙しい感じだったが、そのストレスを反転させるようにいくつかPerl製のツールを書いていた。1つめは、dirmove という名前でレポジトリは以下。 GitHub - note103/dirmove2つめは、rcopy.pl という名前でレポジトリは以下。 GitHub - not…

吉祥寺.pm6に参加しました(トーク音声公開&スライド作成方法)

以下でお知らせした通り、1/15(金)に開催された第6回吉祥寺.pmに参加してきました。 吉祥寺.pm6に参加します(2016/1/15) - the code to rock発表資料は以下です。 ぼんやりした大人が趣味でプログラミングを始めたら from Hiroaki KADOMATSU www.slidesh…

最近買った技術書 〜WEB+DB PRESS, Software Design, LaTeX2ε美文書作成入門, かんたんPerl〜

仕事に使うわけでもないのに技術書がけっこうあふれていて、かつ電子版なら寝る前にiPhoneで読んだりするのに都合がいいのでなるべく紙の技術書からは離れたいなあ、と思っているのだけど、先日ちょっと買った本があったので、後から「あれっていつ買ったん…

吉祥寺.pm6に参加します(2016/1/15)

今年最初の更新です。最近は仕事と簿記検定(2月末)のための勉強をしている時間が大半で、なかなかプログラミングできていないんですが、年末はクリスマスを挟んで10日ぐらい、熱に浮かされたようにCarvoの修正を繰り返していました。 まだその内容はpushし…

Perl初心者を卒業したら

こちらは「Perl入学式 Advent Calendar 2015」の17日目の記事です。 Perl入学式 Advent Calendar 2015 - Qiita昨日は @gch0929 さんの「Perlを使って簡易Markdownビューアを作ってみた」でした。 qiita.com一気に読みこむ方法、僕も最近たまたま研究していた…

すぐに試せる砂場をつくる

こちらは「Perl入学式 Advent Calendar 2015」の9日目の記事です。 qiita.com昨日はいつもお世話になっています @tsucchi さんの「File::Basename の話。あるいはそこからの教訓的な何か」でした。 File::Basename の話。あるいはそこからの教訓的な何か - t…

Perlビギナーのための文字エンコーディング「超」入門

こちらは「Perl入学式 Advent Calendar 2015」の4日目の記事です。 Perl入学式 Advent Calendar 2015 - Qiita昨日は @oisius さんの「子育て一段落で、Perl入学式」でした。清々しくも濃密な良記事! でしたね。 oisius.hateblo.jpぼくは東京編しか参加した…

モバイル版Carvoとしてzuknowを使う

前回紹介したCarvo(カルボ)。note103.hateblo.jpインストールの手順や動かし方などを書いてはみたものの、実際には自分以外の人が本当に使うことは余り想定していないというか、なにしろ意味不明なコード群やバグ(とすら言えないような不備)ばかりで、せ…