並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 390件

新着順 人気順

Perlの検索結果281 - 320 件 / 390件

  • YAPC::Kyoto 2023に参加した - skaji’s blog

    YAPC::Kyoto 2023に参加した。 印象に残ってるトーク 2023年春のPerl by charsbarさん ここ数年、Perlは意欲的に新機能を追加してきており、そのあたりをわかりやすく説明されていてとてもよかった。 また、機能の紹介の前にPerlの開発体制の変更にも触れられており、よかった。 なるほど、"行政府"がパンプキンからPerl Steering Councilに変わったと。 qron: Cloud Native Cron Alternativeの今 by aerealさん 以前の発表でaws step functionsについて話されており、それが面白かったので今回もたのしみにしていた。 タイトル通りクラウドのパーツを組み合わせjob queue, cronを実現したことを説明されており、力強かった。 聞きながらあとで伺いたいことをメモっていたのだが、いまいち声をか

      YAPC::Kyoto 2023に参加した - skaji’s blog
    • Perl のユーザ定義文字特性 - ┗┐<(՞ਊ՞)>┌┛

      めっちゃ久々に 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:

        Perl のユーザ定義文字特性 - ┗┐<(՞ਊ՞)>┌┛
      • GitHub AppsでPithubを使うためのモジュールGitHub::Apps::Authと使った黒魔術の紹介 - ぱいぱいにっき

        こんにちは、おげんきですか。最近体がバキバキなので良い整体を探しております。川崎近辺でお願いします。 この記事は、Perl Advent Calendar 2019の14日目の記事です。13日目はomokawa_yasuさんのTie::Fileで大容量ファイルを処理する - Qiitaでした。今回もtieの話を少しします。 GitHub Appsって何? なんで使いたいの? 同日の会社のAdvent Calendarに記事を書いたのでこれを読んでほしい。 techblog.kayac.com つまり、要約すると、 GitHub APIを叩くときに、管理とか諸々の理由で個人のGitHub Token使うやつから、GitHub AppsのTokenを使いたい 個人のGitHub Tokenと違ってGitHub AppsのTokenは1時間で有効期限が切れる よりセキュアであると言えるし、たぶん

          GitHub AppsでPithubを使うためのモジュールGitHub::Apps::Authと使った黒魔術の紹介 - ぱいぱいにっき
        • 23年続く「FINDJOB!」がPerlからNuxt.js+Djangoへと移行、フルリニューアルの背景は?

          IT・Web業界に特化した求人情報サイト「FINDJOB!」は、2020年9月1日にサービスのフルリニューアルを行った。その背景には、より利便性が高くユーザー体験に優れたサービスへと改善するという目的だけではなく、システムにおける「課題」を解消するという目的もあったという。旧「Find Job!」にはいかなる課題があり、リニューアルの裏側には開発メンバーたちのどのような努力があったのか。「FINDJOB!」の開発リーダーを務める佐々木義一郎氏とエンジニアの関祐輔氏に伺った。 困難を極めた既存コードのメンテナンス ――「FINDJOB!」がリニューアルを行った理由を、開発視点から教えてください。 佐々木:理由はいくつかありますが、まず旧システムをメンテナンスし続けることが困難になってきたからです。旧システムはPerlで開発されていたのですが、Perlを扱えるエンジニアは徐々に少なくなっていま

            23年続く「FINDJOB!」がPerlからNuxt.js+Djangoへと移行、フルリニューアルの背景は?
          • 第79回 最近Perlに追加された実験的機能 try文、defer文、class文(1) | gihyo.jp

            Perl Hackers Hub 第79回最近Perlに追加された実験的機能 try文⁠⁠、defer文⁠⁠、class文(1) 本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはcharsbarこと石垣憲一さんで、テーマは「最近Perlに追加された実験的機能」です。 もとになるモジュールが存在している新機能 最近Perlに追加された新機能の中には、開発サイクルを速く回すためにCPANモジュールとしてプロトタイピングを行ったうえで、Perl本体に実験的な機能として移植し、正式な機能への昇格を待っているものがいくつかあります。本稿ではそのような実験的機能を紹介していきます。 なお、本稿のサンプルコードは基本的に執筆時の最新開発版であるPerl 5.37.11(2023年5月)で動作確認をしています。 try~catch文 ─⁠─正しいエラー処理 Perlで例外を

              第79回 最近Perlに追加された実験的機能 try文、defer文、class文(1) | gihyo.jp
            • rt.cpan.org will sunset on March 1st, 2021

              Update 2/21/2021: Updated information about the future of rt.cpan.org can be found at https://news.perlfoundation.org/post/rt-cpan-org-future Update 2020-12-13: rt.cpan.org will be sunset on March 1st, 2021 due to low and declining use. Back when we started this service, it filled a need by providing a place for CPAN authors to track bug reports and feature requests. In recent years github.com and

              • YAPC::Kyoto 2023に参加してきたので感想でも書こうかな - rsym’s diary

                3/19に開催されたYAPC::Kyoto 2023に登壇してきました! yapcjapan.org 発表が無事に終わり家に帰ってきたわけですが、どうやら私のYAPCはまだ終わっていないようです。 ブログを書くまでがYAPC!! ということでブログを書いていただいたら、こちらのフォームからお知らせください!YAPC::Japan公式ブログにてご紹介させていただきます🙌 また書いていただいた数に応じてThe Perl Foundationに寄付をします。 https://t.co/ie0Cin8Q5l #yapcjapan— yapcjapan (@yapcjapan) 2023年3月20日 というわけでYAPCに参加した感想を書こうと思います。 なぜYAPCに参加した? 主な理由はこんなところでしょうか 同じ部署で人一倍アウトプットに力を入れている @ryuichi_1208 さんに触発

                  YAPC::Kyoto 2023に参加してきたので感想でも書こうかな - rsym’s diary
                • Perl Navigatorについて

                  この記事は、Perl Advent Calendar 2022 の24日目の記事です。昨日は、@tecklさんの「Perlのちょっとしたテキスト処理で生活を豊かにする」でした。 大雪の降っている地域のみなさんは無事でしょうか。ホワイトクリスマスだやったー!とか言ってるレベルじゃない大雪の地域もあるみたいなので油断しないでみんな生きていこうな!という気持ちで私はいます。とはいえ、この記事をのんびり読めているということはまったく無事なのだろうと思いますが、普段雪なんて降らない地域にも降ってるみたいなので、今年も残りあとわずか、みんないろいろあれこれあっただろうけど、無事に楽しくあたたかくハッキーにやりきりましょうよ!やくそくだぞ😉 Perl Navigator さて、私は現在、お仕事ではPerlを書いていませんが、この個人ブログをちょろちょろメンテナンスするためにときどきPerlを書いていま

                    Perl Navigatorについて
                  • リポジトリ内のソースコードを機械的にリファクタリングし続けるスクリプトを作る - hitode909の日記

                    こんにちは、はてなのマンガチームでPerlを書いているid:hitode909です。 先日書いた、Perlのソースコードをリファクタリングし続けるスクリプトについて紹介します。 @EXPORTを撲滅したい 普段Perlを書くときに苦労していたのがテストを書くことで、さまざまなテスト用のヘルパ関数がどこからexportされているかわからない、という困りごとがありました。 私たちのプロダクトではマンガビューワを作っているので、テスト用の作品をcreate_seriesで作り、作品に紐づくエピソードをcreate_episodeで作り、エピソードに対してテストを書く、というような流れでテストを書くことが多いです。 以下の例ではGiga::Test::Core::Seriesからcreate_seriesがexportされていますが、込み入ったテストでは、このようなuseが数十行に渡って続き、どこ

                      リポジトリ内のソースコードを機械的にリファクタリングし続けるスクリプトを作る - hitode909の日記
                    • 2021年にブックマークした記事まとめ - ぷらすのブログ

                      2021年にPocketに保存した記事をマークダウン形式で出力するツール. Contribute to p1ass/list-pocket-saved-items development by creating an account on GitHub. 注意: タグはかなり適当 バックエンド Go Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話 Go の入力バリデーションパッケージ ozzo-validation を試した。 k0kubun/pp: Colored pretty printer for Go language OpenTelemetry in Go Go のロギングライブラリ 2021 年冬 GraphQL の静的解析基盤を作った Go のリリースプロセスとブランチ戦略 Go 1.16 の signal.NotifyContext

                        2021年にブックマークした記事まとめ - ぷらすのブログ
                      • Climate Tech スタートアップへのリクエスト(アイデア集) - FoundX Review - 起業家とスタートアップのためのノウハウ情報

                        Y Combinatorは100社を超える気候変動関連のスタートアップに出資しており、その規模は100億ドルを超えています。 これらのスタートアップは、社会の脱炭素化や大気中の炭素除去のための商業的な解決策を提供しています。これらをかつてないスピードとスケールで実現すれば、壊滅的な気候変動を回避できる可能性は十分にあります。 そうすることで得られる経済的機会は膨大で、推定3~10兆ドルのEBITDAが手に入ることになります。一例として、テスラは自動車業界を電気自動車に移行させる一方で、年率60%の成長率で750億ドルの年間収益をあげています。 最近の法律も、既存の市場動向を大きく加速させるでしょう。インフレ抑制法 (IRA) は、10年間で米国だけで推定8000億ドルを費やすことになります。これは、米国の太陽光発電、電池、EV産業の起爆剤となった2008年の900億ドルの10倍近い額です。

                          Climate Tech スタートアップへのリクエスト(アイデア集) - FoundX Review - 起業家とスタートアップのためのノウハウ情報
                        • This is not your grandfather's Perl - Stack Overflow

                          If you were to search the internet for recent articles about Perl, you might well be led to believe that the language hasn't changed in the last twenty years. And, sadly, that's a completely understandable belief as the major version number hasn't changed since 1994. In July 2000, Perl 6 was announced as the next version of Perl. Over the next several years, the scope of the project expanded until

                            This is not your grandfather's Perl - Stack Overflow
                          • PerlのDockerコンテナ化に関する考察 - Perlテックブログ(跡地)

                            PerlのDockerコンテナ化に関する考察を書いてみる。僕は、Dockerをまだ使ったことはないので、実現できない部分に気が付いたのであれば、コメント歓迎です。 OSのデフォルトのPerlを使ったほうが良い理由 コンテナ化する場合は、perlbrewやplenvでインストールするPerlよりも、OSが提供しているシステムPerlを使う方が良いと考えます。 システムPerlは、OSのパッケージ管理コマンドで、試験済みのバイナリのPerlが、数分以内でインストールできるからです。 perlbrewやplenvは、ユーザー領域に、Perlをソースコードからインストールして使るようにするという仕組みです。 この仕組みは、便利すぎますが、コンテナ化との相性を考えた場合は、インストールに時間がかかる、容量が多くなるというデメリットになります。 環境構築用サーバーを準備したほうが良い理由 Perlのソ

                              PerlのDockerコンテナ化に関する考察 - Perlテックブログ(跡地)
                            • YAPC::Kyoto 2023 にカヤックのエンジニア2名が登壇します! - KAYAC engineers' blog

                              技術部の長田です。 3/19に京都リサーチパークにて開催されるYAPC::Kyoto 2023に、カヤックからも2名が登壇者として参加することになりました。 yapcjapan.org トーク内容をYAPC::Kyoto 2023公式サイトのタイムテーブルより引用して紹介します。 いずれも普段行っている業務から得られた知見の紹介となっておりますので、これを機にカヤックがどんなことをしているのかを技術的な面から知っていただければ幸いです。 デプロイ今昔物語 〜CGIからサーバーレスまで〜 https://yapcjapan.org/2023kyoto/timetable.html#talk-118 登壇者: macopy 場所: Scrapboxホール by Helpfeel 時間: 15:00〜 みなさま日々Webアプリケーションのデプロイにいそしんでいるかと思います。 デプロイの風景は数

                                YAPC::Kyoto 2023 にカヤックのエンジニア2名が登壇します! - KAYAC engineers' blog
                              • Perlのカレンダー | Advent Calendar 2022 - Qiita

                                edit_calendarHow to join the calendarYou can join the calendar by selecting an available date and registering the URL of the article you wish to link to. If a slot is available, you can go back to a past date to join!

                                  Perlのカレンダー | Advent Calendar 2022 - Qiita
                                • Perl で HTML をパースするモジュール: Days on the Moon

                                  この記事は HTML アドベントカレンダーの 19 日目の分、兼 Perl アドベントカレンダーの 19 日目の分です。 Perl で HTML をパースするモジュールはいくつもあります。 HTML::Parser そのままの名前ですね。HTML コードをパースしていき、開始タグ、終了タグ、テキストなどを認識するとそれをイベントとして知らせてくれる、プッシュ型のパーサーです。 HTML の要素の内容モデルや、ある要素のタグが省略可能かといった知識は持っていません。あくまでもタグやテキストなどの出現を知らせるだけで、文書木を構築するわけではないからです。 逐次的なパースに対応しています。HTML 文書全体を表すコードを一気に入力として与えなくてもよく、HTTP 通信中に受け取った分からパースしていくといったことが可能です。 Web 製作者の意図を汲み取ろうと努めており、「壊れた」HTML コ

                                  • aliasedでFunction::Parametersの型指定を簡潔にする - Mobile Factory Tech Blog

                                    この記事はモバイルファクトリー Advent Calendar 2019 2日目の記事です。 ヒューマンリレーションズ部シニアエンジニアのid:kfly8です。昨日、id:karupaneruraが公開していた2019年の最先端のPerl開発ボイラープレートにて、 Function::Parametersで (InstanceOf['Point']) と括弧でくくる必要がある とありました。この記事ではこの補足をしたいと思います。 まず、問題の整理をしたいと思います。今回、2つの観点で、期待と異なっていると思います。まず、InstanceOf['Point']は、Type::Tinyの式としては正しいので、そのまま、Function::Parametersでも使わせて欲しいはずです。 # Type::Tinyの式としては正しい use Types::Standard -types; my

                                      aliasedでFunction::Parametersの型指定を簡潔にする - Mobile Factory Tech Blog
                                    • perlのビルド/インストール方法 - Qiita

                                      (A) $ wget https://www.cpan.org/src/5.0/perl-5.30.1.tar.gz (B) $ tar xf perl-5.30.1.tar.gz (C) $ cd perl-5.30.1 (D) $ ./Configure -Dprefix=$HOME/perl -Dscriptdir=$HOME/perl/bin -des -Dman1dir=none -Dman3dir=none -DDEBUGGING=-g (E) $ make --jobs=8 install これでperl 5.30.1をビルドし、$HOME/perlにインストールできる。かかる時間も4分程度である。 以下(A),(D),(E)について説明を加える。 (A) perlのソースコードを取得 perlのソースコードは https://www.cpan.org/src/ から取得可能

                                        perlのビルド/インストール方法 - Qiita
                                      • Encodeモジュール - 日本語などのマルチバイト文字列を適切に処理する - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説

                                        日本語などのマルチバイト文字をPerlで適切に扱うにはEncodeモジュールを使用します。次の3つのことを覚えておけば多くの場合適切に日本語を扱うことができます。 外部から入力された文字列はEncodeモジュールのdecode関数でデコードする 外部へ出力する文字列はEncodeモジュールのencode関数でエンコードする ソースコードはUTF-8で保存しutf8プラグマを有効にする この解説での用語 この解説では外部から入力された文字列のことを「バイト文字列」と呼ぶことにします。Perlの内部表現に変換された文字列を「内部文字列」と呼ぶことにします。また「バイト文字列」が特定の文字コードで記述されている場合は「UTF-8バイト文字列」「Shift_JISバイト文字列」などと呼ぶことにします。 プログラミングで日本語を扱う場合にその文字列がバイト文字列であるのか内部文字列であるのかを明確に

                                          Encodeモジュール - 日本語などのマルチバイト文字列を適切に処理する - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説
                                        • Adobe-Japan1-6およびJIS2004対応の外字チェッカーを作成

                                          日本語EPUBの作成で結構面倒なのが「使える文字と使えない文字のチェック」です。何せ単行本1冊で10万文字くらいはあったりしますので、それを目視でチェックして使えない文字を見分けるなどというのは普通に考えて無理があるわけです。また、例えベテランの作業者なら対処できるとしても、そういう機械的な処理に関しては極力機械に任せて省力化したいところです。ということで自前のチェッカー内に組み込む目的で「Adobe-Japan1-6」および「JIS X 0213:2004(JIS2004)」を対象として外字のチェッカーを作りました。 ターミナルで

                                            Adobe-Japan1-6およびJIS2004対応の外字チェッカーを作成
                                          • Perl Time::Local::timelocalで起きている2020年問題をなんとか直した話 - Qiita

                                            my ($sec, $min, $hour, $mday, $month, $year) = (0, 0, 0, 1, 1, 1970); # Perlでは月は0から数えるので1引く $month -= 1; # Perlでは年は1900年から数えるので1900引く $year -= 1900; my $unixtime = timelocal($sec, $min, $hour, $mday, $month, $year); print localtime($unixtime); # 1970年1月1日 0時0分0秒 を、返すはずだった・・・

                                              Perl Time::Local::timelocalで起きている2020年問題をなんとか直した話 - Qiita
                                            • プログラミング言語比較 Python,Ruby,PHP,Java,JavaScript,Perl - Qiita

                                              Python,Ruby,PHP,Java,JavaScript,Perlのプログラミング言語の比較です。プログラミング言語ごとの機能、実装方法、難易度、特徴、目的、用途、実績などの比較がわかる資料になればと思います。知人、SNS、ランキングサイト、学校の授業、会社の研修で、おすすめされたプログラミング言語とぜひ比較してみてください。 C言語、C++、Go、Rustなど、ここでは紹介されていないプログラミング言語の編集リクエストも受け付けています。 人気の比較記事 プログラミング入門 基本文法 入門 インストール 変数 文字列処理 文字列の連結 条件分岐 if文 繰り返し構文 while文 for文 配列 連想配列 多次元データ構造 関数定義 ファイル入出力 プログラミングレファレンス 演算子 比較演算子 算術演算子 論理演算子 四則演算 標準関数 文法・構文 ライブラリ・モジュール プログ

                                                プログラミング言語比較 Python,Ruby,PHP,Java,JavaScript,Perl - Qiita
                                              • Rubyにはオブジェクトを汚染する仕組みがあった - Eggshell

                                                はじめに Ruby 3.0 Advent Calendar 2020 5日目の記事です。 昨日は、【Ruby 3.0 Advent Calendar 2020】Ruby3.0で非推奨から廃止になるメソッドたち【4日目】 - ゲームリンクスの徒然なる日常 です。 また、この記事は2020年ふりかえりアドベントカレンダー 5日目です。昨日の記事は 初学者が Ruby on Rails の広大さに途方にくれたけどなんとかやっていけるようになった話 - いまブログ です。 Ruby 3.0 から $SAFE が普通のグローバル変数になります The feature of $SAFE was completely removed; now it is a normal global variable. The feature of $SAFE was completely removed; now

                                                  Rubyにはオブジェクトを汚染する仕組みがあった - Eggshell
                                                • Perlのカレンダー | Advent Calendar 2020 - Qiita

                                                  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.)

                                                    Perlのカレンダー | Advent Calendar 2020 - Qiita
                                                  • A new perl installation tool

                                                    Finally I created a new perl installation tool perl-install which is written in shell script. Build and install perls. This is similar to perl-build. While perl-build is written in perl, perl-install is written in… MotivationWhy did I created a new perl installation tool? Yes, we already have several perl installation tools. Among them, gugod’s perlbrew and tokuhirom’s perl-build are famous, I thi

                                                    • 台湾デジタル社会は健全、中国と大きな差をつけた

                                                      コンテンツブロックが有効であることを検知しました。 このサイトを利用するには、コンテンツブロック機能(広告ブロック機能を持つ拡張機能等)を無効にしてページを再読み込みしてください。 ✕

                                                        台湾デジタル社会は健全、中国と大きな差をつけた
                                                      • Time::Piece - 日付・時刻を扱う新しい方法 - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説

                                                        [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形式の年週が前年・

                                                          Time::Piece - 日付・時刻を扱う新しい方法 - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説
                                                        • Perlのスタックトレースを見やすく扱う方法 - Qiita

                                                          この記事は、Perl Advent Calendar 2019 23日目 の記事です。 概要 Perlは、次のように通常の状態では例外が投げられてもスタックトレースを表示しません。

                                                            Perlのスタックトレースを見やすく扱う方法 - Qiita
                                                          • Python,Ruby,PHP,Java,JavaScript,Perlの配列の比較 | プログラミング言語比較 - Qiita

                                                            Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

                                                              Python,Ruby,PHP,Java,JavaScript,Perlの配列の比較 | プログラミング言語比較 - Qiita
                                                            • 第68回 他言語のライブラリをPerlに移植する(1) | gihyo.jp

                                                              本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはうたがわききさんで、テーマは「他言語のライブラリをPerlに移植する」です。 本稿は、執筆時点2021年5月の最新版であるPerl 5.34.0を用いました。本稿のサンプルコードは、WEB+DB PRESS Vol.123のサポートサイトから入手できます。 なぜ他言語のライブラリをPerlに移植するのか 筆者は、Twitterに投稿する文章を整形・検証するためのtwitter-textライブラリをPerl に移植した、Twitter::Textを実装・公開しました。本稿では、Perl以外のプログラミング言語で実装されているライブラリをPerlに移植する際の考え方や気を付けるべきことについて、Twitter::Textを例に解説します。 はじめに、他言語で実装されたライブラリをPerlに移植する理由を述べます。

                                                                第68回 他言語のライブラリをPerlに移植する(1) | gihyo.jp
                                                              • PerlのVSCodeの拡張機能を少し便利にした話 - Mobile Factory Tech Blog

                                                                この記事はモバイルファクトリー Advent Calendar 2020 14日目の記事です。 はじめまして、20卒エンジニアのthe96です。 今回は業務中に使っているPerlのVSCodeの拡張機能のメソッド呼び出しの際の定義元ジャンプが正しく動作するように修正した話をします。 やったこと 従来のVSCode Perlではメソッド呼び出し(Hoge::Fuga->func())のときに定義元ジャンプを行った場合、別パッケージの同名関数の定義元に移動してしまうことがあります。 ソースコードを読む際に正しい定義元に移動しないと不便なので、この拡張機能に手を入れて改善しました。 この不具合について説明するために、同名の関数helloが定義された二つのパッケージAとBを用意しました。 修正前の定義元ジャンプ機能では、関数呼び出し(A::hello)のときはA#helloの定義に移動できています

                                                                  PerlのVSCodeの拡張機能を少し便利にした話 - Mobile Factory Tech Blog
                                                                • とほほのperl入門 - とほほのWWW入門

                                                                  とほほのperl入門 トップ > とほほのperl入門 概要編 Perlとは インストール 実行方法 引数指定 ファイル指定 自己完結型 標準入力読み込み型 基礎知識 簡単な実行例 これだけは覚えて strictモードと警告モード 関数の括弧 定数 数値 文字列 エスケープシーケンス(\) 数値と文字列 真(true)と偽(false) バイナリデータ 変数 変数宣言(my) スカラ($XXX) 配列(@XXX) ハッシュ(%XXX) 変数名に使える文字 定義済変数みと未定義変数 省略時の変数($_) 環境変数($ENV{'XXX'}) コマンド引数($ARGV) シグナル($SIG{'XXX'}) その他の特殊変数($X) 演算子 代入演算子 算術演算子 ビット演算子 数値比較演算子 文字列比較演算子 条件演算子 正規表現マッチング 文字列連結 文字列置換 繰り返し演算子 範囲演算子 フ

                                                                  • 現場でのやっつけPerlに学ぶサブルーチン作成のアプローチ - Qiita

                                                                    対象読者 プログラムはかじっているものの、Perlという言語をよく知らない。 同じ「P」から始まるなら「Python」一択っしょ!Perlって何ですか?古文書ですか?やば!とか思っているし、実際に口に出している。 そんな毒を吐いて、イキり散らしていたらPerlの現場にアサインされてしまった。 「リファレンス」「コンテキスト」という言葉の響きだけで頭痛・めまい・嘔吐の症状が認められ、Perlを出来るだけ触らないようにと医者から言われている。 はじめに Perlはラリー・ウォールによって開発された動的型付け言語です。 「There's More Than One Way To Do It.(TMTOWTDI)」 というスローガンが示す通り 「やり方は幾らでもある」という思想を元にした 設計の柔軟性に富んだ素晴らしい言語です。 C言語やsed、awk、シェルスクリプトなど古き良きレガシーな知見を

                                                                      現場でのやっつけPerlに学ぶサブルーチン作成のアプローチ - Qiita
                                                                    • 第55回 Perlコードの高速化―文字列処理の時間短縮とデータ構造の効率化(2) | gihyo.jp

                                                                      前回の(1)はこちらから。 文字列 まず紹介するのは文字列処理です。 文字列処理には、Perlの武器である正規表現が欠かせません。正規表現の記述ルールが手に馴染んでくると、文字列の照合や取り出し、書き換えにはまず正規表現を使うでしょう。しかし、正規表現で書いた処理には、組込み関数や演算子を使って書き換えられるものがいくつかあります。そして、多くの場合では関数や演算子を使った処理のほうが高速です。 本節では、正規表現を使った処理を関数や演算子で置き換える例を紹介します。 特定文字の削除にはy///を使う 不要な文字や、行末の改行コード(\n⁠)⁠、タブ文字(\t)などを空白文字に置き換える処理(削除)は、頻繁に行うものでしょう。特定文字を削除するときに最も使うのが置換演算子です。 たとえばメールアドレスは<neko@nyaan.jp>のように<と>で囲まれた形式で現れることがあります。SMT

                                                                        第55回 Perlコードの高速化―文字列処理の時間短縮とデータ構造の効率化(2) | gihyo.jp
                                                                      • 第63回 PPIとPerl::Tidyを組み合わせて作るコード整形ツール(2) | gihyo.jp

                                                                        前回の(1)はこちらから。 静的解析ライブラリを組み合わせて部分的にコード整形を行う (2)では、PPIとPerl::Tidyを組み合わせて独自のコード整形ツールを作成します。 例として、開発の初期にはPerl::Tidyが導入されていなかったプロジェクトについて考えます。あとからPerl::Tidyを導入する場合、それまでに書かれたコードが一度に整形されます。そうすると、あとになって該当部分のコードが書かれた意図を履歴から調べる際に、コード整形のコミットログが出てきて、本来知りたかったコミットまでたどり着けません。 この問題を解決するために、新しく追加や編集した行に限定してコード整形を行うツールを作成します。 Git::Repositoryで変更した箇所を検知する Gitを導入しているプロジェクトであれば、編集した差分はgit diffで知ることができます。この情報を解析して、整形すべき

                                                                          第63回 PPIとPerl::Tidyを組み合わせて作るコード整形ツール(2) | gihyo.jp
                                                                        • Perl 7 年の時を超えてリャマを書き終えました (d165)

                                                                          目次 - Perl Index Theme Perl について、復習を兼ねて断片的な情報を掲載して行く連載その d165 回。 今回はこれまで当ブログで書き続けてきた「 リャマ 」(Llama) のイラストについての記事です。2013 年 8 月から書き始めて 2020 年 6 月に書き終えるまでの 7 年間をまとめました。 記事とともに掲載している画像 (イラスト) リャマを書き始めた経緯 構想 最初期 ループする世界 見えない終わり 悟りと祝福 ドットトラッキング ムービー 作業を終えて extra 記事とともに掲載している画像 (イラスト) これまでこのブログの各記事トップに毎回掲載されてきた画像は、プログラミング言語 Perl の入門書「 初めての Perl 」の表紙に掲載されている動物の模写です。 初めての Perl (Learning Perl) 第 6 版 オライリー・ジャパ

                                                                            Perl 7 年の時を超えてリャマを書き終えました (d165)
                                                                          • WEB+DB PRESS vol.117 「Perl Hackers Hub」 第62回「Perl歴史散策」に寄稿しました - Acme::AnaTofuZ->new;

                                                                            というわけで一度投稿してみたかったエントリです!!! 2020年6月24日(水)に発売される WEB+DB Press Vol.117 の Perl Hackers Hub に「Perl歴史散策」を書かせていただきました!!みんな買ってくれ!!!!!! 沖縄だと多分無いですが大手書店では6月16日からテスト販売があるそうです!!!自分の近所の書店が大手書店だと思われる人は買ってください!!! ちなみに外出するのはな...という皆様のために電子書籍でも販売しています!!! 気になる内容 気になる内容ですが Perl1.0から現在のPerl5.32に至るまでの代表的なバージョン(1,2,3,4,5)の解説 構文の進化を追っていく インタプリタのC実装の特徴 当時のPerlのリポジトリの中身 Perl6/Rakuの歴史と現在 最新Perl5情報 ...と、個人的な趣味MAXみたいな内容でお送りし

                                                                              WEB+DB PRESS vol.117 「Perl Hackers Hub」 第62回「Perl歴史散策」に寄稿しました - Acme::AnaTofuZ->new;
                                                                            • Perlって何ができるの? - Ruby, Python, PHPとの比較も - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説

                                                                              「Perlって何ができるの?」たくさんのプログラミング言語が登場して、どのプログラミング言語を選択すればよいか、悩んでおられる方もおられると思います。Perlでどんなことができるのか、答えるコンテンツを作成しました。 検索・置換などの正規表現を使ったテキスト処理が得意 Perlは検索や置換などのテキスト処理が得意なスクリプト言語です。正規表現が言語に組み込まれており、簡単に検索や置換のプログラムを記述することができます。 # すべての「banana」を「orange」に置換 $message =~ s/banana/orange/g; テキスト処理の処理速度は高速です。処理内容によりますが、体感的には、低価格でレンタルできるLinuxサーバーで、10万行のテキストを1秒程度で処理できます。 実践で役立つPerl正規表現 Perlの正規表現は、そのオリジナリティと有用性で広く知られており、L

                                                                                Perlって何ができるの? - Ruby, Python, PHPとの比較も - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説
                                                                              • PerlでTSVをパースする - Masteries

                                                                                小ネタです, 忘備録として残しておきます. metacpan.org PerlにはText::CSVという, CSV(Comma Separated Value)をパースするモジュールがあります. 一方で, TSV(Tab Separated Value)をパースするモジュールは, パッと見た感じいいのがなさそうでした. 解決策は以下の3つがありそうです: split など駆使して手動でパースする 一番素朴なのは, こういう感じで split などを使って, タブを切り分ける方法でしょう($line が1行のTSVとします). my @fields = split /\t/, $line; ...とはいえ素朴ですし, エッジケース(あるのか?)に対応していないかも... という気がするので, なるべくよしなにモジュールの力を借りたいと思うかもしれません. そういう時は... Text::C

                                                                                  PerlでTSVをパースする - Masteries
                                                                                • Python,Ruby,PHP,Java,JavaScript,Perlの多次元データ構造の比較 | プログラミング言語比較 - Qiita

                                                                                  Python,Ruby,PHP,Java,JavaScript,Perlの多次元データ構造の比較 | プログラミング言語比較JavaRubyPythonPHPJavaScript

                                                                                    Python,Ruby,PHP,Java,JavaScript,Perlの多次元データ構造の比較 | プログラミング言語比較 - Qiita