Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Perl 初心者やたまにしか Perl を使わない人向けのツボ はじめに Perl はクセのある言語ですが、ちょっとしたツールなどを書くには便利な言語です。でも、たまにしかつかわなかったり、あまり慣れていないといろいろお約束やクセを忘れてしまい、短いプログラムを作るにもトラブってしまうことがあります。 ここでは、そういう自分のための情報をまとめてみました。 コンソールアプリの基本 コンソールアプリの基本ですが、次のようになります。 #!/usr/bin/env perl あるいは #!/usr/bin/perl #上の先頭行は Windows ではなくてもよい。Linux の場合、ないとコマンドとして実行できない。行末は必ず LF のこと。 # おまじないだが、バグ対策になる2行。 use strict; use warnings; # コマンドライン引数の処理 if ($#ARGV <
ハローこんにちは、メリークリスマス、まこぴーです。 今回はPPR.pmの紹介をします。 その前に宣伝 来年のYAPC::Tokyo 2019でこういう話をします!!! 「Perl5の静的解析入門 機械と人間双方の歩み寄りによる平和編」っていう題名です。 チケットはこちら: https://passmarket.yahoo.co.jp/event/show/detail/015qs4zxqp35.html 僕のトークプロポーザルはこちら https://yapcjapan.org/2019tokyo/timetable.html#/detail/2 「あ、なんかPerlじゃなくてもいいけれど静的解析楽しそう」とか「他の言語どうやるんだろう」っていう人も来てください。Goの静的解析のことも少し喋れます。あとめっちゃ長くなったので気になるけれど時間がない人は、会場に来て僕の話を聞いたら1時間で済
REPL便利ですよね。 Webアプリケーションを動かしながらデバッグだったり 小さなクラス単位で開発・テストを進める際などにも 大変有用です。大好きです。 今回はもっと活用するための、ささやかなtipsをご紹介します。 古典的な方法 perl debugger -dオプションでデバッグモードで起動するアレです。 見やすくないので、REPLのために積極的に利用するシーンは無いと思いますが、 どんなに古いperlでも、何もインストールせずにデフォルトのまま利用できるのが利点ですかね。 perl4でも使えたはず。 簡単な計算機代わりに利用する方法として、 イディオムとして perl -de0 で起動して、 xコマンドで式を評価した結果を展開表示する、 というのがあります % perl -de0 Loading DB routines from perl5db.pl version 1.44 Ed
こちらはPerl Advent Calendar 2018の18日目の記事になります。昨日は、Morichanさんによる、クラス図とPerlの対応付け でした。 さて、みなさん、日頃からワンライナーは使ってますでしょうか? これまで何度となく出てきたネタかとは思いますが、Perlによるワンライナーについて改めて整理してみます。 (…本記事は今年のYAPC::Okinawa 2018 ONNASONの「Perlを中心としたワンライナーあれこれ」の加筆・訂正版ですw) ワンライナーとは 「ワンライナー」とは、たった1行だけのプログラムです。 プログラムを書きたいが、 エディタを起動するほどの手間はかけたくない、というときに威力を発揮します。 日本語で言うところの、いわゆる一行野郎です。 最近界隈で人気のシェル芸的な分野などでも使えると思います。 基本編 perlでは、コマンドラインオプションの
こんばんは、Magnoliaです。 この記事はPerl Advent Calendar 2018の16日目の記事です。昨日、15日目は(予定では…)@karupaneruraさんの「ISUCON8予選問題においてPerl実装で25万点を突破する方法」でした。 さて、Qiitaに投稿するのがすっかりPerl Advent Calendarの時だけになった気がしますが…最近Perlを書く機会もすっかり無くなり、先日珍しく30分枠という長い枠で登壇しましたが、コード例はRubyで書いています。 「設計Night2018 powered by Classi」で登壇してきました - Magnolia Tech しかし、実は最初Perlで書こうとしたのですが、ちょっと想定と違った結果になったので、結局Rubyで書き直しました、今日はその話をします。 Time::Pieceモジュール Perlの日付処理
この記事は Perl Advent Calendar 2018 の 12 日目の記事です。 Windows 環境な職場でみんなで共通の Perl を使っている、という話をします。 なぜ共通の Perl を使うのか 以下のような理由です。 環境を統一したいため (Windowsなのもあり)パッチをあてないとインストールできないモジュールがあるため Perl に詳しくない人でも簡単に使えるようにするため 共通の Perl を配ることで、職場内の標準ツールも同時に配ることができるため これらを満たすために、全員で共通の Perl (以下 共通 Perl と記載) を使うようにしています。 Windows における Perl の選択肢 たくさん選択肢がありますが、楽にインストールできる代表格としては以下があります。 Strawberry Perl for Windows http://strawb
昨日何気なくPython-DevのMLを眺めていたら、Python2.8なるもの観測した(&興味深い)のでご紹介致します。この Python2.8はPSFがサポートする正式バージョンではありません!! のでご注意ください1。 [追記] - 2016/12/13 8:00(JST)頃に、一時的に"Placeholder"という名前に更新されたようです。そのため既にPython2.8という名前ではなくなっています。 Python2.8? Pythonを少しでも知っている方は、Python2.8と聞いた時に「??」となっていることでしょう。それはそう、「Python2.8は存在し得ない」からです。 PSFは、Python2orPython3において、 The final 2.x version 2.7 release came out in mid-2010, (中略) The 2.x bran
この記事は、 Perl Advent Calendar の9日目の記事です。 Perlにおけるlocalとは一体何なのか? まずは Perl Doc を読むところからでしょう。 You really probably want to be using my instead, because local isn't what most people think of as "local". See Private Variables via my() in perlsub for details. え、 my を使いたいんだろ?って書いている..... そうなんです、Perlにおいて、(レキシカルスコープにおける)局所変数を宣言する場合には、 my を使うべきですし、大凡全ての場合において、 my を使うことにこだわるべきなのです。 では、 local って一体何なのでしょうか? レキシカル
本記事はPerl Advent Calendar 2018の3日目の記事です。 初めてPerlを使った開発プロジェクトに携われたのが嬉しくて、そのことについて書こうと思います。 記事を書くきっかけ 自分はSESで主にSIer系の様々な現場に出向して仕事をしています。 今の現場ではPerlが採用されています。自分自身、懐かしいなーと思いながら日々開発を進めています。 Perlの文法は自由度があって楽しいです。ですが、これがチーム開発となると制約が大きくて敬遠される という声も聞きます。 そこで、実際に業務でPerlを使うときの良い点・悪い点を自分なりに整理できればと思いました。 稚拙な点はぜひご指摘ください。 記事の目的 ・開発現場でPerlが主な言語として採用されており、なぜPerlを採用したか調べるため。 ・開発現場の事情は普段なかなか目にすることはできないので、少しでも情報を共有できれ
この記事はPerl Advent Calendar 2018の2日目の記事です。 皆さん、PerlでOOPしてますか? 私は今年Perlに入門したのですが、Perlのオブジェクト指向はかなり独特だと感じました。 MouseやMooseを使って簡単に書くことはできますが、やはりそれでも他言語の構文との差はあるように思います。 そこで、Perlの柔軟な文法を活かしてclass構文を作ってみることにしました。 方針 できるだけJavaっぽくする blessは裏側でやる クラス名をクォートで囲わなくてはいけない箇所を減らす 素のPerlよりも堅牢になる仕組みを組み込む 実装 https://github.com/yumlonne/p5-Class-JavaLike 突貫で作っていたためコード汚いです 現在実装できているのは以下の機能です class構文 アクセス修飾子(public・protect
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事は、Filip Piekniewski氏のブログ記事 "AI Winter Is Well On Its Way" の翻訳です。 追記:Filip Piekniewski氏による本記事への補足も合わせてご覧ください。 翻訳:AIの冬はますます近付いている (Filip Piekniewski) AI Winter Is Well On Its Way ここ数年、ディープラーニングはいわゆるAI革命の最前線に位置付けられてきた。そして、多くの人が信じてきたところによると、ディープラーニングは我々をシンギュラリティ (汎用人工知能)
Mojo::JSONは、「Perlのデータ構造」と「JSON文字列」で、相互に変換してくれるモジュールです。 「Perlのデータ構造」から「JSON文字列」に変換する場合はencodeメソッドを使用し、 「JSON文字列」から「Perlのデータ構造」に変換する場合はdecodeメソッドを使用します。 注意が必要なのは、 Mojo::JSONのencode/decodeが、 Encodeのencode/decodeに合わせたような挙動になっていることです。 encodeメソッド encodeメソッドに渡すデータの中に日本語などの文字列がある場合は、 utf8フラグを付けておく必要があります。 付けなかった場合は、文字化けが起こります。 use strict; use warnings; use Encode; use Mojo::JSON; my $parser = Mojo::JSON->
use strict; use warnings; use Calendar::Japanese::Holiday; use utf8; use open qw(:encoding(utf8) :std); my $year = 2015; foreach my $month (1..12) { my $href = getHolidays($year, $month, 1); foreach my $day (sort keys %$href) { printf("%02d/%02d %s\n", $month, $day, $href->{$day}); } } $ perl holiday.pl 01/01 元日 01/12 成人の日 02/11 建国記念の日 03/21 春分の日 04/29 昭和の日 05/03 憲法記念日 05/04 みどりの日 05/05 こどもの日 05/0
この記事はADVENTARのC++ Advent Calender 2016の6日目の記事です。 1.はじめに この記事では、Microsoft Visual C++を使ってC++形式の動的リンク・ライブラリを書く時に見つけたノウハウを解説します。 動的リンク・ライブラリは静的リンク・ライブラリに比べて書くのが難しいです。 メモリやHDD容量が貴重だった時代にはライブラリを共有することで、それらを節約できるメリットが大きかったので、難しくても頑張る価値がありました。 しかし、近年はメモリもHDDもかなり潤沢に使える時代となり、標準ライブラリやシステム・ライブラリのように多数のexeが使う場合を除き、動的リンク・ライブラリの有用性は低下しています。 むしろ、バージョン管理の手間や配布ミス等を考えると、現代はできるだけ静的リンクした方が好ましいと思います。 ああ、いきなり身も蓋もない結論を書い
About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く