YAPC::Hakodate 2024でのトークです https://yapcjapan.org/2024hakodate/
Perlに限らない話ですが、プログラミングをしているとセミコロンが抜けた、タイポなど些細な記述ミスでエラーが出ますよね。エラーメッセージから、原因を明確に特定できれば対処はしやすいですが、現実は、そうではなく、この辺が怪しい...くらいしか分からないことも多々。慣れたプログラミング言語でなければ、当然、土地勘がなくエラーの意味を汲み取れず、逆に慣れていれば「あーそれね」とすぐ解決に辿り着くのものです。 この記事では、Perlの初学者を対象に、Perlでよくある記述ミスとエラー、その対処方法、そして、そもそもエラーを起きにくくするための予防策をできる限り書きます。 いろんな記述ミスを紹介する前に perldiagを利用する use strict; use warnings あるいは use VERSIONを利用する can't use string as a hash ref Global
今年もよしなにお願いいたします 連載第18回ではlocal::libの話題を取り上げましたが、今回はそのときにもちらと紹介した、モジュールをインストールするときに利用するいくつかのモジュールについて簡単にまとめてみます。 ExtUtils::MakeMakerが生まれるまで Perlがバージョン3でコンパイル時にユーザ独自のライブラリを組み込んで本体機能を拡張できるようになったとき(1990年)、おそらくもっとも喜んだのがデータベースを使っていたユーザでした。彼らはいそいそと自分の使っていたデータベースのライブラリをPerlに組み込み、それとわかる名前をつけて公開しました。当時の記録によれば、Oracleに対応したOraperlやPostgreSQLに対応したPgperlなど、データベース関連だけで8つないし9つの専用Perlがあったようです[1]。 でも、このアプローチには問題もあ
Perlベストプラクティス Perlベストプラクティス(略してPBP)という良い本があります。僕自身もPerlを学ぶ過程で非常にお世話になった本なのですが、以下の様なことが度々指摘されています。 bestって書いてあるけど「著者の」bestプラクティスなので偏りがあることも 「決して」とか「必ず」とかが多いけどあんま真に受けてはいけない この本を書くために書かれたであろうCPANモジュールとかがあって、しかも公開されてないものまである 致し方ないけど現在の状況にマッチしない古い情報もある なので、PBPの何がベストじゃないのかについてまとめてみることにした。前からやりたかったんだけど、思い立ってやった。 まとめてみたら、思っていたほどには項目が上がってこなかったので、やっぱPBPは良い本だなと改めて思いました。なので、このエントリーがこれからPBPを読む人の助けになれば良いなと思います。
普段仕事で Perl を書いている。 Perl はモジュールを利用するために use 文を書く必要がある。 モジュールを足すごとに use 文を忘れずに書くのは意外と大変で「use漏れ」というコミットをこれまでたくさん積み重ねてきた。 この作業を自動化するために、過去には VSCode で自動でインポートする拡張機能を作った。 marketplace.visualstudio.com しかし、以下の課題があった。 普段使っているのが IntelliJ (作った当時はVSCodeに移行を試みていた)でメンテナンスする気分になれない TypeScript で頑張ってパースしているが Perl の自由度に敗北している エクスポートされているシンボルを静的解析するのに限界がある このように動的に作られたりするとどうしようもない そこで、それぞれの課題に対処する新たな自動インポートツールを作ろうと考
Hello World might be the most frequently written computer program. For decades, it's been the first program many people write, when getting started in a new programming language. Surely, this humble starting-point program should be bug free, right? After all, hello world programs only do one thing. How could there be a bug? Hello world in C There are a lot of different ways to write hello world in
YAPC::Japan::Online 開催めでたい キーノート光栄 オンライン開催 id:onishi さんに先んじてしまった YAPC::Kyoto 中止残念でした (延期とのことです) 今後のオフライン開催に期待 新しいハイブリッドな形にも Discord活用いいですね Me id:Songmu (ソンムー) Masayuki Matsuki / 松木雅幸 Launchable / プリンシパルソフトウェアエンジニア おそらくはそれさえも平凡な日々 https://www.songmu.jp/riji/ https://metacpan.org/author/SONGMU 60+ CPAN Modules / 200+ GitHub repositories 3 Times ISUCON Winner Using Perl 「みんなのGo言語」共著者 ghqメンテナ 認定スクラムマス
記事内に広告が含まれています。This article contains advertisements. AppleはmacOS 12 Montereyで「php」のバンドルを終了するようです。詳細は以下から。 Appleは日本時間2021年10月19日午前2時からスペシャルイベント「Unleashed.」を開催し、その中で新しいApple Silicon搭載のMacと、現在Beta版が公開され開発が進められている「macOS 12 Monterey」の正式リリース日も伝えられると思われますが、 現地時間2021年10月15日にリリースされた多機能ランチャー「Alfred 4.6 for Mac」のリースノートを見て知りましたが、Apple Developer ForumsのDeveloper Tools Engineerからの回答によると、AppleはmacOS 12 Montereyか
めっちゃ久々に Perl5系 書いたのですが、そのときに今更 Perl にはユーザ定義文字特性というものがあることを知りました。 perlunicode - Perl における Unicode サポート - perldoc.jp ユーザ定義文字特性によって、例えば半角のカタカナだけヒットさせるのを作ろうとなった場合、半角カタカナの範囲をユニコードの表で確認して https://unicode.org/charts/PDF/UFF00.pdf `ヲ`である `FF66` から `゚` の `FF9F` までヒットさせようと試みる場合、以下のような文字特性をかけます package Experopero::Sample; use utf8; use strict; use warnings; ... # 半角カナ文字 `ヲ` ~ `゚` を指定したユーザ定義文字特性 # see: https:
こんにちは、エンジニアの id:mp0liiu です。 8月28日(土)の Learn Languages 2021 というイベントの Language Update というセッションで@charsbarさんと一緒に2018年以降のPerl5やPerlコミュニティの最新動向について話してきたので、そのとき話した内容に補足などしつつ記事にしていきたいと思います。 配信アーカイブはこちらから見れます。 時系列 2019/5/22 Perl5.30 リリース 2020/6/20 Perl5.32 リリース 2020/6/24 Perl7の発表 2021/5/21 Perl5.34 リリース Perl5.30 の変更点 正規表現や文字周りの細かい改善などはありますが、正直めぼしい変更点が見られないです。 Perl5.32 の変更点 isa 演算子の実装 値があるクラスのインスタンスもしくはそのサブ
シェルスクリプトを書くのをやめる - blog.8-p.info これを見て: 夢の可能性が高くなってきたんですが、Perlのプラグマかなにかで、シェルスクリプトと混在できる……というか、存在しないサブルーチン呼び出しを外部コマンド呼び出しにするやつありませんでしたっけ— aereal / 青木華絵 (@aereal) 2021年9月16日 まじだ... https://t.co/IF6SyBR4o8— Kazuyoshi Kato (@kzys) 2021年9月16日 Shell - run shell commands transparently within perl - metacpan.org use Shell qw(cat ps cp); $passwd = cat('</etc/passwd'); @pslines = ps('-ww'), cp("/etc/passwd"
CPANに上がっているモジュールが対応しているPerlの最小バージョンの傾向が知りたくなったので、調査することにした。直感では、最低でもPerl 5.8に対応しているモジュールが最も多いと思っていた。 情報を取得する metacpanにはAPIがある*1ので、これを叩いて情報を取得する。 以下のコマンドで、この記事を書き始めた日までの1年間 (2020/5/4 - 2021/5/4) のリリースのうち、最新バージョンのリリースについて検索した。 $ curl -XPOST https://fastapi.metacpan.org/v1/release/_search -d @query.json > result.json query.json にはこういうクエリを書いた。Elasticsearchのクエリは普段あまり手書きしないのでちょっと苦労した。 { "query": { "bool
プログラミング言語Perlの老舗情報サイトである「Perl.com」が2021年1月27日、何者かにドメインを乗っ取られたことが判明しました。記事作成時点でPerl.comは既に復帰していますが、それまでには多くの労力と多くの人の助けがあったとして、Perl.comの編集者であるブライアン・ド・フォイ氏が事態の経緯をまとめています。 The Hijacking of Perl.com https://www.perl.com/article/the-hijacking-of-perl-com/ 2021年1月27日の早朝、フォイ氏がドメインに問題があることに気づいた後、すぐに読者から「Perl.comが消えた」という報告が届きだしたとのこと。この報告の数はDNSの更新が世界中で行われていくにつれ増加していきました。 そして同日、フォイ氏はTwitterでPerl.comの乗っ取りについて発
perlでプログラムデバック時に Data::Dumper を使って変数内のデータ構造を見たいことがあると思います。 #!/usr/bin/env perl use strict; use warnings; use Data::Dumper; my $var = { array => [1,2,3], hash => { key1 => "val1", key2 => "val2" }, coderef => sub { "this is coderef"} }; print Dumper $var; 普通のarrayやhashであれば dumper メソッドを使い構造を確かめることはできますがcode reference(コードリファレンス)を見ようとすると sub { "DUMMY" } となってしまい内容が分からず枕を涙で濡らすことになってしまいます。 $VAR1 = { 'has
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く