TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
スレ立てるまでもない質問はここで 149匹目
Windows 10 UWPアプリ開発 Part 2
ねえ、これ僕間違ってる?
Visual Studio 2017 Part6
今までみた絶望的なソースコード
【ActionScript3】Webツールを作ろう【GPL】
【信者】C++の問題点【アンチ】
Visual Studio Code / VSCode Part6
<XML総合 part="3"/>
C++相談室 part149
Perlについての質問箱 64箱目
- 1 :2019/02/01 〜 最終レス :2020/06/12
- CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板: https://medaka.2ch.sc/php/)
このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
荒らしはスルー推奨。
"The duct tape of the Internet" こと、Perlについての質問箱です。
"There's more than one way to do it" ということで、
Perlの奥深さについて皆で語り合い、追求してまいりましょう。
www.perl.org/get.html
Download Latest Stable Source (5.28.1)
▼前スレ
Perlについての質問箱 61箱目
http://toro.2ch.sc/test/read.cgi/tech/1381561905/
Perlについての質問箱 62箱目
http://toro.2ch.sc/test/read.cgi/tech/1385039352/
Perlについての質問箱 63箱目
https://mevius.2ch.sc/test/read.cgi/tech/1392820583/
- 2 :
- 【本】
初めてのPerl 第7版(リャマ)[2018年01月 発行]
https://www.oreilly.co.jp/books/9784873118246/
続・初めてのPerl 改訂第2版 [2013年08月 発行]
https://www.oreilly.co.jp/books/9784873116280/
マスタリングPerl [2009年03月 発行]
https://www.oreilly.co.jp/books/9784873113975/
Effective Perl 第2版 [発売日:2015年02月16日]
https://www.shoeisha.co.jp/book/detail/9784798139814
もっと自在にサーバを使い倒す 業務に役立つPerl [2012年4月11日発売]
http://gihyo.jp/book/2012/978-4-7741-5025-3
モダンPerl入門 [2009/2/10]
https://www.amazon.co.jp/dp/4798119172/
モダンPerl入門 増補改訂版(仮)[2014年1月予定]
http://codezine.jp/book/modernperl2
Perl CPANモジュールガイド [2011/4/8]
https://www.amazon.co.jp/dp/486267108X
【オンラインマニュアル】
最新のドキュメント: https://metacpan.org/release/perl
perldoc.jp: http://perldoc.jp/
perldoc.perl.org: http://perldoc.perl.org/
- 3 :
- [少し古めの良書]
プログラミングPerl 第3版 VOLUME 1,2(駱駝)[2002年09月 発行]
https://www.oreilly.co.jp/books/4873110963/
https://www.oreilly.co.jp/books/4873110971/
Perlクックブック 第2版 VOLUME 1,2 [2004年09月 発行]
https://www.oreilly.co.jp/books/4873112028/
Perl ベストプラクティス [2006年08月 発行]
https://www.oreilly.co.jp/books/4873113008/
Perl Hacks [2007年01月 発行]
https://www.oreilly.co.jp/books/9784873113142/
実用 Perlプログラミング 第2版 [2006年03月 発行]
https://www.oreilly.co.jp/books/487311280X/
- 4 :
- 【日本語、Unicode関連】
Encodeモジュール
https://metacpan.org/release/Encode
第31回 encoding:いつまでもjperlから抜け出せない方に
http://gihyo.jp/dev/serial/01/modern-perl/0031
第32回 Encode:日本語だけ扱えればよいのではなく
http://gihyo.jp/dev/serial/01/modern-perl/0032
perlunifaq - Perl Unicode FAQ
http://perldoc.jp/docs/perl/5.18.1/perlunifaq.pod
perlunicode - Perl における Unicode サポート
http://perldoc.jp/docs/perl/5.12.1/perlunicode.pod
【モジュール】
Search the CPAN - metacpan.org: https://metacpan.org/
【Perl環境構築】
plenv
https://github.com/tokuhirom/plenv
cpanm
https://metacpan.org/pod/release/MIYAGAWA/App-cpanminus-1.7001/lib/App/cpanminus.pm
http://perldoc.jp/docs/modules/App-cpanminus-1.7001/lib/App/cpanminus/fatscript.pod
- 5 :
- # [Perl 日本語処理の基礎の基礎]
# このレスは、Windows の ActivePerl で日本語処理を行う場合のテンプレートです。
# このレスの内容をそのまま、UTF8 形式のソースファイルに保存して下さい。
# 入出力ともシフト JIS 形式のファイルまたは DOS 窓を想定しています。
# まず、以下の行を先頭に入れて下さい。
use utf8;
use open IO => ":encoding(cp932)";
binmode STDIN => ":encoding(cp932)";
binmode STDOUT => ":encoding(cp932)";
binmode STDERR => ":encoding(cp932)"; # ※1
use Encode;
# 次に、あなたが実行したい処理の内容を入れて下さい。
$file = 'C:/なんたら/かんたら.txt';
open my $fh, '<', encode("cp932", $file) or die $! ; # ※2
print <$fh>;
# 以上の内容は、日本語処理が解らない人でも、とりあえず日本語処理ができてしまう
# おまじないです。条件が異なる場合の対処方法は、ご自分で勉強して下さい。
# 【注】※1. の行を入れると、DOS 窓への日本語出力は簡便になりますが、
# ソースファイル名に非 ANSI 文字が含まれる場合に die 文の出力が失敗します。
# ※2. OS に渡す文字列(ファイル名,dos コマンドのオプションなど)は、
# この例のように cp932 でエンコードする必要があります。
- 6 :
- 今更だがCGIとPerlの区別ってなんだよw
- 7 :
- Common Gateway Interface
https://ja.wikipedia.org/wiki/Common_Gateway_Interface
Common Gateway Interface(コモン・ゲートウェイ・インタフェース、CGI)は、
ウェブサーバ上でユーザプログラムを動作させるための仕組み。
現存する多くのウェブサーバプログラムはCGIの機能を利用することができる。
CGI は環境変数や標準入出力の扱えるプログラミング言語で扱うことができる。
- 8 :
- (洋書) Mastering Perl: Creating Professional Programs with Perl 2nd Edition [2014/1/27]
https://www.amazon.co.jp/dp/144939311X/
マスタリングPerlの第2版
(洋書) Programming Perl: Unmatched power for text processing and scripting 4th Edition [2012/3/9]
https://www.amazon.co.jp/dp/0596004923/
プログラミングPerlの第4版
- 9 :
- >>7 perl で書けばperl そのものじゃん。
しかし、perl は終わったな。 python に取って代わられた。
- 10 :
- 単にCGIで使われるという流行が沈静化しただけだよ。使われている所では使われている。
元からCGI専用言語でもなんでもなくなんでもできるからな。
Python は機械学習で現在流行っているが、それもやがては沈静化するだろう。
かといってなくなることはない。
- 11 :
- >>6
どういうレベルの質問?
- 12 :
- けっこう大きめのEUCで出来たプログラムを全部utf8に直す作業が始まるんだが、面倒くさいんだが
構成ファイルもたくさんあるし、読み書きしてるようなファイルもたくさんあるし、プラグイン方式みたいに作られてて、既存のプラグイン的なのも全部EUCでutf8に直さなきゃならないんだが
めんどくさいと言うか、正常に動くのかどうか不安なんだが
一応表面上は正常に動いたように見えても、俺にはそれはまやかしに感じるんだが
- 13 :
- はいやっぱりバグったファイルの読み込みが出来なくなった
- 14 :
- そういやUTF8だとprintfとかで幅を揃えるのができなくなったりして大変だな。
%-10sとかやっても漢字が入るとそこが出力時に3バイトになったりしてずれて役に立たない。
こういう幅とか考慮してフォーマットしてくれるモジュールあるんだろうか?perlだから誰かが作ってそうではあるが。
- 15 :
- Unicode::GCStringでカラム数とれるっぽいから空白いくつ詰めるかは計算できそう
- 16 :
- かなり頑張ったがUTF8にするのは無理だということになって諦めた
sjisとEUCとutf8が無駄に入り乱れる結果になった
ファイル名はプログラム内部ではEUCで扱ってたり、実際のファイル名はsjisだったり、ファイルの中身はEUCだったり、通信はsjisだったり、
そもそも文字単位じゃなくてバイト単位でデータを管理する記述がめっちゃあったり、
ゴミかよ!
- 17 :
- 一生を掛けて修復するプログラムになったようだな。
- 18 :
- >>15
おお。ありがとう。やはりあったか。
- 19 :
- $str = "abcdefg"; open( $fh,"<",\$str); open( $fh2,"<&",$fh);
はできるけど
open( \*STDIN,"<",\$str)
open( \*STDIN,"<&",$fh)
はできないんだな。知らなかった。"Bad file descriptor" って言われた。
どこかに書いてあったっけ?
- 20 :
- ちょっとマジで聞きたいことがあるんだが、cgiからブラウザに対してCP932でHTMLが出力されている。
もちろんヘッダも正しく指定されている。
んで、そのHTMLの中に、
<IMG SRC="あいうえお.jpg"> などと言う日本語のファイルが指定されているわけだ。
その日本語のファイル名も、CP932だ。
んで、ご丁寧にブラウザが自動でURLエンコードしてくれるようなのだが、
%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A.jpg
となるのだ。これは "あいうえお.jpg" をUTF-8として解釈した時の文字コードだ。
俺としては %82%A0%82%A2%82%A4%82%A6%82%A8,jpg (CP932の文字コード)となってもらわなくては困る。
聞きたいことは2つで、これを解決するにはどうしたら良いか?
もう一つは、ブラウザごとの仕様によりこの挙動は違うのか?
の二点だ
よろしく頼む
- 21 :
- >>20
自分でファイル名をそういう風にエンコードすれば?
- 22 :
- >>21
すまんが読めなくなるから駄目
あと、断定はしてないが、ブラウザやHTTPDのソフトごとに、エンコードやデコードの扱いの違いがある疑いがある
開発環境のwindowsでANHTTPDってやつ使ってるが、こいつはたぶんファイル名をデコードしてないくさい
でも運用環境(有料で借りてる)のApacheさんはパスをURLデコードしてる模様
俺の予想だと、ブラウザも古いのだと絶対自動でUTF-8なんかにはデコードしないと思う。
もしかしたら間違ってるかもしれないけど
困る
統一して欲しい
- 23 :
- perl関係ある?
- 24 :
- >>23
ほぼない
けどWeb制作板に行くとエンコードどころか文字コードも理解してなかったから絶対回答こない
- 25 :
- どうしてもすぐになんとかしたいなら全てをUTF8にする。
- 26 :
- ほんとにcp932なのか?
実はUTF-8で出力されてて、ヘッダはただ無視されてたりしないのか?
まず、クライアントでデータを保存して、バイナリエディタで確認してみたら?
- 27 :
- そのような不正な URL がどのように扱われるかを問うのはあまり有意義とは思えない。
適切に扱ってほしいなら適切にエンコードするしかないと思うのだが。
HTML::Element とか URI を使えば簡単だよ。
- 28 :
- >>26
ほんとにcp932
なのにutf8でエンコードされる
>>27
cgiは、どっかにあるHTMLが書いてあるテキストファイルを読み込んで出力してるだけだから、<IMG SRC="あいうえお.jpg">のあいうえおの部分を見つけ出してエンコードするのは無理がある。
さらにエンコード下として、それをデコードしてパスを通すhttpdと通さないhttpdがあるようなので仕様を知りたい
- 29 :
- ホントにそうなら、やっぱブラウザのせいなんかね。
データをデコードしたテキストをそのままURLにしたら、たしかにそうなりそうな気はする。
どうしてもあちこちいじらずに簡単に対処するなら、サーバーのほうはどう?
プロキシとかRewriteとか使って、とにかくURLを受けてしまってから、受けたURLを動的に解釈したら?
- 30 :
- >>29
もうcp932のファイル名はやめて全部アルファベットにしようと思うのだが、
Rewriteってなんだろう
アニメが出てきたんだが
まあおまえらありがとうな
utf8ならまだしもcp932のファイル名をそのまま使おうとした俺が悪かったんだよきっと
でもwindowsがcp932のファイル名だからしょうがないんだよ
- 31 :
- >>20
ブラウザがUTF-8 と解釈するのは、HTML のheader に、言語の指定をしていないからじゃないの?
ただし、sjis を指定しても、そのPC がsjis に対応していないかも?
>>22
>運用環境(有料で借りてる)のApacheさんはパスを、URLデコードしてる模様
URLデコードするかどうかを、設定ファイルで指定できないの?
>>30
web 系は、すべてのファイルを、BOM 無しUTF-8(UTF-8N)に統一すべき!
他の言語を使うと、PC・スマホがその言語に対応していない場合に、バグる
- 32 :
- バグる、ですか
- 33 :
- 漏れは、web 系の本を、軽く数十冊は読んでるけど、
sjis のファイルを使う本は、見たことがない
それに、パス・ファイル名などのシステムの構成物に、全角を使う本も見たことがない。
パス・ファイル名は、ファイル内容のテキストじゃない。
あくまでもシステムの構成物だから、半角英数字が基本
Linux・Windows 共用のパス・ファイル名には、半角英数字と、_ (アンダーバー)だけを使う。
半角空白もバグるので、すごく嫌われる
さらに、大文字小文字だけが異なる、パス・ファイル名も使ってはいけない。
例えば、Ab, aB がLinuxでは使えるけど、Windowsでは共存できないから
だから、このシステムは、sjis・全角の2つを使う、違反を起こしている!
こういうやり方を書いた本は、絶対に無いはず
sjis を使っているのは、ロートルの2ch ぐらいw
だから少しでも、2chのシステムをいじるとバグるから、システムを修正できない!
- 34 :
- >>30
「RewriteRule」。
# 「httpd」とかいうから、Apacheに詳しいんかと思ってた。
要はとにかく、サーバーがURLを受けてから、それをランタイムで変換して実際のアクセス先を決めることはできるはず、という提案。
- 35 :
- >>31
URLデコードを禁止できるか?
URLの仕様なのに。
それに、もししたとしたら、CGIの引数とかどうなるんだ?
- 36 :
- >言語の指定をしていないからじゃないの?
してる
>$print_code .= q[Content-Type: text/html;charset=Shift_JIS] . qq[\n];
>$print_code .= q[<META http-equiv="content-type" charset="Shift_JIS">];
>URLデコードするかどうかを、設定ファイルで指定できないの?
金払って借りてるマシンなのでたぶん無理なんじゃね?
いやApacheさんの使い方とか仕様とか全然知らないから知らんけど
>UTF-8(UTF-8N)に統一すべき!
cgiが古いんだよ
作り直したいけど簡単そうじゃないので放置してる
気持ち的には全部utf8にしたい
>>34
俺のサーバーじゃないけどそんなこと出来るのか?
- 37 :
- >>36
>$print_code .= q[Content-Type: text/html;charset=Shift_JIS] . qq[\n];
>$print_code .= q[<META http-equiv="content-type" charset="Shift_JIS">];
「html sjis meta」で検索すると、以下が見つかる。
上とは、ちょっと違う
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
他には、PHP で作ったそのファイルが、UTF-8 で保存されているとか?
「html sjis 文字化け」で検索すれば?
文字化けを防ぐ&解消する方法
https://www.be-webdesigner.com/tips/coding/mojibake.htm
- 38 :
- >>36
レンサバでも、管理者だったらいろいろできる。
しかし、もしそうだったとしても、どうやらたぶんおまえにはムリぽなので、もうあきらめろん。
- 39 :
- >>20-21
ブラウザごとにURLエンコードは統一は取れてなかったと思うよ
まず開発環境としてANHTTPDの使用をやめることをお勧めする
IISかApacheをインストールして使った方がいいと思う
- 40 :
- https://lavender.2ch.sc/test/read.cgi/airline/1551189110/
このツールが使えない
誰か使い方を教えてくれ
ソースを拡張子.plにして保存、perl実行環境はインストール
ここまでは出来てる
ソースの改造の仕方が分からない
- 41 :
- 連投ツールとか名前が穏やかじゃないから教えない
- 42 :
- 今の2chではスクリプトによる連投はできないのでは?
試したことないのでわからんが。
しかしそのツールなんでわざわざforkして子プロセスに同じことさせてんだろ?その辺がワザなのか?よくわからんね。
- 43 :
- Perl は初めてかい? まず、Perl の勉強からだね。
何をするプログラムかは後回しにして、何が書かれているかを理解できるようになろう。
書かれていることを理解できるようになったら、使われているモジュールを理解しよう。
LWP を使ってみよう。勉強しなければならないことがたくさんあると気付くだろう。
最低でも HTTP の仕様書くらいは読まないと話にならない。
ここまでできれば最初のソースコードを理解して改造だってできるかも。
- 44 :
- 彼はインストール方法を知りにきただけであってPerlを知りにきたわけではないだろう
- 45 :
- メッセージ固定だなんて連投というより荒しツールだな
- 46 :
- 今の2ちゃんは決まったツールでしか投稿できない
- 47 :
- だよなあ。そのせいでお気に入りの専ブラ使えなくなったし。
- 48 :
- もうC++/Qtで書く気がしない。
Perl/Qtで事足りる。
Perlの開発者が「PCの速度が上ればCである必要はないだろう」みたいな事言ってたけど、
まさにその通りだな。
- 49 :
- >>48
その perl は perl6 ですか?
- 50 :
- なんかのはずみで処理が終わらなかったとき、自Rるようにしたいんだけど、
eval {
alarm 5;
$SIG{ALRM} = sub { exit; };
};
これでいいんだっけ?
- 51 :
- いいんじゃないすか それだけだとevalはいらないと思うけど
あと慣例ならハンドラ設定が先かな exitじゃなくdieとか
- 52 :
- ありがとう
>evalはいらないと思うけど
よく覚えてないけど、evalはシグナルに対応してないシステムだとエラーで落ちる気がした
- 53 :
- perlipc を読むといいかも。
http://perldoc.jp/pod/perlipc
- 54 :
- Perl News に "Fork yeah!" というのがあってちょっと驚いた。
https://www.perl.com/article/fork-yeah-/
- 55 :
- メアド用にさくらインターネットのライトプラン(sslログインなし)借りてるんだけど
そこにちょっとしたcgi作って置こうとしてて
ものすごい久々にuse CGIとかやってます。
で、corelist CGIってやると
> Data for 2018-01-20
> CGI was first released with perl 5.004, deprecated (will be CPAN-only) in v5.19.7 and removed from v5.21.0
と出るんだけど
CGIが標準モジュールから削除された理由とか、
代替となるモジュールって知ってる人いませんか。
Perlはweb用の言語じゃないから標準モジュールからは消した とか
そんな理由ならいいんだけどさ。。
- 56 :
- 「core は出来るだけ小さく」
「CGI はもはや Web の主流ではない」
かな。必要になった者のみが追加でインストールすればよい
標準で代替になるようなものはないと思うが pure perl だろうし最悪 CGI モジュールも一緒にアップロードとかでも動くでしょ
そもそもさくらレンタルサーバーで使える perl って 5.8 〜 5.14 ぽいけど
ttps://help.sakura.ad.jp/hc/ja/articles/206053142#ac05
- 57 :
- >>56
どもども
その理由なら安心ですわ
perlのバージョンは確認したんだけど、消えた理由によっちゃ使うの気持ち悪いなーと思ったので
どもでした。
- 58 :
- 5.30が出るのかと思ってたら、出てねー
やる気ねーのかよ
- 59 :
- ていうかこんなに長くアップデートが続いていることだけでもかなり凄い事だと思う。
- 60 :
- 5.30.0 RC2までは出てるからそのうち出るだろ
- 61 :
- $str =~ /$pattern/
みたいなことはできるけど、
$str =~ /$pattern/$opt
みたいにして大文字小文字を同一視するかどうかを動的に指定したい
if文で処理行を分けるしか無理?
- 62 :
- >>61
eval 使えばいいのでは?
- 63 :
- Ruby では、Regexp オブジェクトで、動的に作れる
str = "aB"
opt = Regexp::IGNORECASE
p re = Regexp.new( str, opt )
#=> /aB/i
- 64 :
- パターンマッチの直前で比較対象の文字列を uc() 使って小文字を全て大文字に変換しておく、または lc() で大文字を全て小文字にしておく事でも実現できるな。
パターンの方にも変換必要になるかも知れないが、それについては予め大文字または小文字でパターン作っておけば回避できる。
- 65 :
- ただ、どう考えても遅くなるよな
素直に切り替えよう
- 66 :
- >>61
# http://perldoc.jp/docs/perl/perlre.pod#Extended32Patterns
my $subject = 'FooBar';
my $search = 'foobar';
my $pattern = qr/$search/;
print $subject =~ /$pattern/ ? 'match' : 'unmatch', "\n";
$pattern = qr/(?i)$search/;
print $subject =~ /$pattern/ ? 'match' : 'unmatch', "\n";
- 67 :
- (?i)と書いておけばいいだけか
じゃあもう実装済みで、使う側でどうにでもできる
- 68 :
- Python ってダサいよね。
- 69 :
- Pythonはほどほどの長さのスクリプト言語としてならアリなんだが
ツールとしては良くも悪くも電卓だなぁ
- 70 :
- バッチは使いやすさでperl、サーバだと今はパフォーマンスで選んでgolangやろうとしてるわ
- 71 :
- https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00682/061100007/
Pythonはコードが書きやすい?ご冗談でしょう
- 72 :
- >>71
読んだけど、実際にはタイトルほどPythonを悪くいってないな。w
- 73 :
- windowsでreaddirするとcp932で読めてくる
それだと面倒なので、opendirする時か、ハンドラに対して、
decoding(cp932) みたいに指定するにはどうすればいい?
- 74 :
- https://www.javadrive.jp/perl/file/index12.html
- 75 :
- perltidy -pbp -nola perl_file
この -pbp は perl best practices にする設定になっている
という仕様が書かれているが
sub {
:LABEL
for ....................
のようなラベルが本の通りにならない。たとえば 103ページなど
ラベル調整を諦めて -nola をつけ、手動で正しくすることにした
これバグだよな?
- 76 :
- https://i.imgur.com/YlNx4as.png
左のように綺麗にまっすぐ整えろ が本の通りなのに
右のように変なところにいく
- 77 :
- 何語?
- 78 :
- perl にインデントを求めるな。
- 79 :
- \(^o^)/
- 80 :
- どうでもインデント
- 81 :
- sjisでローマ数字のUが書いてあるのをutf8にすると、どうやっても化けるな
- 82 :
- 一旦生で読んでcp932でデコードすればいいのか
LWP:Simpleだとそのへんに手が出せない
- 83 :
- MySQLもそうだけど、sjisは使っちゃイカンやろ。
細かいところで文字の置き換えルールがメチャクチャだったような。
いわゆるシフトJISはとにかくcp932で。
- 84 :
- 多分htmlに俺はsjisだと書いてあると、LWPが勝手にsjisでデコードするんだろう
- 85 :
- 元がeuc-jpだと、
$str =~ s/\x{301c}/〜/g;
みたいなことを明示的に書かないと、回避できないみたい
同じものやがな
- 86 :
- 下記のコードですがダブルクォートを介さずに$testから'フ'を表示させる方法はありますか?
#!/bin/env perl
use strict;
use warnings;
use utf8;
my $test = '\xE3\x83\x95';
my $test2 = "\xE3\x83\x95";
print "$test\n\n";
print "$test2\n\n";
- 87 :
- my $test3 = $test;
$test3 =~ s/\\x([0-9A-Fa-f]{2})/pack('H2', $1)/eg;
print "$test3\n";
- 88 :
- print eval qq/"$test\n\n"/;
- 89 :
- ありがとうございます!
- 90 :
- こんな書きかたあったか?
DB<27> printf "%s\n", ('Fizz')[$_%3] . ('Buzz')[$_%5] || $_ for (1..15)
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
()[]が見おぼえがない
- 91 :
- ()で配列とみなしたとき
()[0]は定義されていると考えて
()[1]などは未定義で無しというトリックか
- 92 :
- DB<25> print "$_ cup", ("s")[$_ < 2] , " of coffee\n" for (1..3)
1 cup of coffee
2 cups of coffee
3 cups of coffee
- 93 :
- DB<23> printf "%s\n", "$_ cup" . ("s")x!!($_ != 1) . " of coffee" for (0..3)
0 cups of coffee
1 cup of coffee
2 cups of coffee
3 cups of coffee
DB<24> printf "%s\n", "$_ butterfl" . ("y","ies")[($_ != 1)] for (0..3)
0 butterflies
1 butterfly
2 butterflies
3 butterflies
- 94 :
- 今はもう (1)[1] が空リストにならないんだな。perl5220delta に書いてあった。
リストコンテキストでの問題を避けるために
[split( /::/ , $class)]->[4]
みたいな書き方をしていたんだが。
いや、これは変えなくていいのか。
- 95 :
- undefは省力とかフェールセーフ的に有効にするんじゃなくて、
厳密に仕様化して積極的に使うべきだよな
初期化されてないものを使うのが気持ち悪いと感じるのは、
auto変数が本当に領域確保するだけだった頃の名残り
- 96 :
- 簡単なシェルスクリプトしか書けない素人ですがPerlの利点ってどこです?
grep -Pやperl -peで世話にはなっていますが目当てはあくまで正規表現だけですし
比較演算子はbashと逆だし変数は記号で使い分けなきゃならんしなんだこいつってなって
- 97 :
- どこでも使える
- 98 :
- テキスト処理に特化されているところ
そのおかげで "," や " " とかの部分を q(,) q( ) などと書けたり
perl コードが正規表現と一体化していて再帰も扱えたりなど色々あるが
全部特化したことによる利点
- 99 :
- Perl6使ってる香具師さんいますか?
- 100 :
- bashで凝ったことを書くことを考えたら、Perlのほうがはるかに簡単。
bashは所詮シェルなので、クォートとかエスケープとか変数とか関数とか、いちいちワナが多いからな。
100〜のスレッドの続きを読む
VRプログラム雑談【Unity/UnrealEngine】【HTC Vive/Oculus Rift/その他VR】
Go language part 2
音声合成プログラムを作りる
関数型プログラミング言語Haskell Part31
【QBASIC互換!?】FreeBasic【GPL】 2
TensorFlow 0.12
テストしにくいコードをテストする方法教えて下さい
0からの、超初心者C++相談室
Perlについての質問箱 64箱目
関数型言語一般
--------------------
【首都外出自粛】日経ダブルインバース・ベア 62
【総合】パズル&ドラゴンズ6776【パズドラ】
群馬県松井田町・霧積山女性殺人事件
【Carp】広島東洋カープ応援★2【広島】
なーにがプッシーライオネルリッチーだよ
【昭和】1972年生まれの諸君集まれPart22【47年】
足立康史議員が辻元清美議員に「野田中央公園」巡り質問 「不動産鑑定書の日付はいつですか」
NHK BS1 9057
【悲報】黒人さん気づく。「ケンモーとかいう日本のファッキンな掲示板が俺らを差別しまくってるらしい」 [715065777]
娘が可愛い親父のカラオケ酒場スレPart4
Sony α Eマウント E/FEレンズ Part106
【韓国】韓国国会議長が新天皇に祝電 「韓国訪問期待する」 [05/01]
レインボーアーチ 童話王国 Part16 ラストスレ
【献立】 受験生の食生活 その7 【レシピ】
笑える親方名を考えよう 十三日目
アシナガバチを飼う 2
北朝鮮も怖いが,中国は,その上を超えているよね。★2
【森友学園】籠池泰典、一文なしで自己破産へ… ネット「さんざん利用したマスコミや特定野党は面倒みてやれよw」「ピーチ前川も続けw
おまいらの“懐かし”っていつ頃?
【祝!再結成】WESTLIFE 1【新曲発売】
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼