perl

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インストールの手順や動かし方などを書いてはみたものの、実際には自分以外の人が本当に使うことは余り想定していないというか、なにしろ意味不明なコード群やバグ(とすら言えないような不備)ばかりで、せ…

Perl製の自作暗記ツール「Carvo」のアップデート

Perlで書いた英単語学習ツール「Carvo(カルボ)」を久しぶりにアップデートしました。 note103/Carvo · GitHubREADME.mdおよびデモもようやく新しく。 Carvo/README.md at master · note103/Carvo · GitHubCarvoについてはこのブログでは、以前にこの辺に書…

行を列に置き換えて文字数をカウントしたい時のsed, Perlスクリプト

Twitterで何か言おうとした時に、「これ140字に収まるかな?」と時々考える。そんなことを考えなくても、そもそも多くのクライアントは入力欄に文字を入れた段階で何文字の過不足があるかわかりやすく教えてくれるし、仮にエディタでそれを書いていたとして…

私のYAPC::Asia TOKYO 2015(2) 〜2日目〜

しばらく間が空きましたが、他の書きかけ記事も落ち着いたのでこちらに戻ります。 YAPC::Asia 2015 最終日(DAY2)の感想です。前夜祭&1日目の記事はこちら。note103.hateblo.jp 承前: DAY1の懇親会 DAY1の最後は懇親会で、これはこれでとても楽しみにして…

Perlワンライナーの学習帳 〜参考資料と実用例〜

YAPC::Asia 2015の前夜祭で以下の発表を見て、その場ではハンズオンできなかった、という話は以下に書きましたが、その後、公開されている資料をもとにちょこちょこ自習をやったりしたので、 https://www.swipe.to/7299cm その経過報告です。 参考資料群 Lin…

Perlの正規表現の修行の経過

この記事ではおもに以下の点について触れます。 \b{wb}というアンカーについて m修飾子および\A\zアンカーについて 先に書いておくと、このブログの読者なら大丈夫とは思いますが、あくまで勉強過程のメモなので、くれぐれも鵜呑みにはされませんようお願い…

長文テキストの「注釈」をPerlで処理するために辿った軌跡

あなたはPerlの基礎文法ぐらいなら使える編集者で、今それなりの長さを持ったテキストに、それなりの量の「注釈」を付けたいとする。具体的には、よくわからない(と思われやすいと想定される)語句の末尾に、つど「*」というマークを付けて、それについて色…

VagrantのCentOS6.5にAnsibleでMovable Typeを入れる

以下の続編です。2015年のCGI入門 - the code to rockさくらのVPSでPerlのCGIスクリプトを動かしてみる - the code to rock 免責事項 間違いもあると思います。 はじめに Linuxサーバ入門の一環として、今回はVagrantで立ち上げたCentOSにMovable Typeを入れ…

さくらのVPSでPerlのCGIスクリプトを動かしてみる

以下の続編です。2015年のCGI入門 〜VagrantのCentOS6.5でPerlのCGIスクリプトを動かす〜 - the code to rock 免責事項 前回同様、本記事は自分のメモ的要素が強いので、同内容を手元で動かす際には自己責任でお願いします。 はじめに さて、さくらのVPSにつ…

選挙立候補者のWebサイトを探すためのスクリプトを書いた話

昨日2015/04/12は僕の住む地域の選挙で、県議会議員と市議会議員の候補者に投票してきた。終日外で用事があったので、帰ってきてから17時過ぎぐらいに行ったけど、日が沈んでから実際に暗くなるまでのちょうど「マジックアワー」と言われるぐらいの時間帯で…

2015年のCGI入門

前の記事にも書いたとおり、CGIを乗り越えて - the code to rock2015年現在、プログラミング入門者がCGIを動かそうとすると、とりわけMac環境については情報が少なく、畢竟茨の道を歩まざるをえない。上の記事ではある程度のエッセンスに触れはしたものの、…

CGIを乗り越えて

長年の課題 手元の記録によると、僕は2013年の5月1日に渋谷へ打ち合わせに行って、その帰りにプログラミング関連の本を3冊買い込んでいる。 まつもとゆきひろ コードの世界?スーパー・プログラマになる14の思考法 ノンプログラマのためのJavaScriptはじめの…

Vim で snippet, template を設定する

はじめに ぼくが手伝っているプログラミング初心者&Perl入門者向け無料勉強会「Perl入学式」のハッシュタグをたどっていたら、こんな投稿がありました。もしよければPerl書くときに快適になる.vimrcを教えていただけたら嬉しいです。#perl入学式— とっしゅ@…

入門者泣かせのプログラミング言語Perl(2)

先にこのような記事を書いたけど、 入門者泣かせのプログラミング言語Perl - the code to rock 書こうと思っていながら流れ上書けなかったことがあったので、スピンオフ的に。上の記事では個人的なお勧め入門書として、結城浩さんの本を一つ挙げたけど、それ…

入門者泣かせのプログラミング言語Perl

Perlは後方互換性を重視している、とはよく言われる。 http://ja.wikipedia.org/wiki/Perl#.E7.89.B9.E5.BE.B4それはまったくその通りなのだろうけど、これは実は(というか)入門者に対してはさほどのメリットではないと思う。Perlはわかりやすく(他の言語…

#Perl入学式 in東京 第5回補講 にて講師役をやります

本日土曜の午後1時から開催される、「2014年度 Perl入学式 in東京 第5回補講」の講師役を担当することになりました。 Perl入学式 in東京 第5回 補講 モジュール/テスト編 on Zusaar Perl入学式 in東京 第5回 補講 モジュール/テスト編 on Zusaar扱うテーマは…

MarkdownをHTMLに変換する最近の方法 〜Perl入学式ブログの更新作業を通して〜

ここ数ヶ月、プログラミング初心者&Perl入門者向けの無料勉強会「Perl入学式」のサポーター活動の一環として、公式ブログの更新作業に関わっています。 Perl入学式 公式ブログ Perl入学式 公式ブログここで言う「更新作業」というのは、記事を書くことでは…

Perl製自作便利ツール紹介: 時間電卓

Perl製・掌編自作ツール紹介の第3回です。以前の回はこちら。(古い順に) Perl製自作便利ツール紹介: 重複行抽出スクリプト - the code to rock Perl製自作便利ツール紹介: 日付電卓 - the code to rock 今回は前回まで以上に「他の人はどうしてんだろ・・…

Perl製自作便利ツール紹介: 日付電卓

自分用に作った小っちゃいPerl製ツールの紹介シリーズです。前回はこちら。 Perl製自作便利ツール紹介: 重複行抽出スクリプト - the code to rock Perl製自作便利ツール紹介: 重複行抽出スクリプト - the code to rock上記の「重複(&非重複)抽出ツール」…

Perl製自作便利ツール紹介: 重複行抽出スクリプト

以前に書いた記事で、 自作英単語学習ツール: "Carvo2" の最近の様子 - the code to rock この他にも自作ツールで使っているものがもう少しあって、それは超ちっちゃい、ちょっとした一つのことをやるためだけの、限られた目的をもったわずか数行のPerlスク…

自作英単語学習ツール: "Carvo2" の最近の様子

今年最初のエントリーです。Perl入学式で学んだPerlの基礎知識を使って、自分に役立つツールをいくつか作っています。昨年末の Advent Calendar でも、最後にひとつ紹介しました。 Perlで日々の行動や考えを記録する: "Worg" のご紹介 - the code to rock今…

Perlで日々の行動や考えを記録する: "Worg" のご紹介

こちらは Perl入学式 Advent Calendar 2014 の10日目の記事です。 昨日は @__papix__ さんの「Perl入学式の歴史 〜その2 2012年〜」でした。 とてもドラマチックで、人間同士の一つ一つのつながりが「Perl入学式」を作ってきたのだなあ、と思いました。僕の…

基礎Perl - 括弧内括弧の実行順序

しばらく前にMediumの方に投稿していた内容だけど、そちらだとちょっとそぐわない&後から参照しづらいのでこちらのブログに移動。 #!/usr/bin/env perl use strict; use warnings; my $str = "123456789"; if ($str =~ /(1(23)4(5)6)78(9)/) { print "$1$2$…