CGI についての質問は板違いです。WEB プログラミング板でどうぞ。
CGI と Perl の区別がつかない人も WEB プログラミング板に行ってください。
(WEB プログラミング板: http://hibari.2ch.net/php/ )
回答する際はモダンな方法でお願いします
(例 jcode.plではなくEncodeモジュールを使った方法)
理由はもう2012年です。いい加減2000年以前の方法はやめましょう。
最新のPerlを使うほうがかっこいいです。
いつまで勉強しないつもりですか?
過去にとらわれるのはもうやめです。進歩しませんよ。
このスレでは(CGI 以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
"The duct tape of the Internet" こと、Perl についての質問箱です。
"There's more than one way to do it" ということで、
Perl の奥深さについて皆で語り合い、追求してまいりましょう。
http://www.perl.org/get.html
● 2011/10/30 現在の最新版: 5.14.2
▼ 前スレ
Perlについての質問箱 49箱目
http://toro.2ch.net/test/read.cgi/tech/1319953460/
リンク集は >>2-3辺り
Perl 日本語処理の基礎の基礎 >>4辺り
【モダン推奨】Perlについての質問箱 50箱目
レス数が900を超えています。1000を超えると表示できなくなるよ。
2012/01/21(土) 10:56:39.03
832デフォルトの名無しさん
2018/12/31(月) 22:42:10.76ID:LUt0Quvy833デフォルトの名無しさん
2018/12/31(月) 22:42:33.80ID:LUt0Quvy × クラス設計して継承して、みたいなのは人間の能力を越えてる
○ クラス設計して継承して、みたいなのは>>831の能力を越えてる
○ クラス設計して継承して、みたいなのは>>831の能力を越えてる
835デフォルトの名無しさん
2018/12/31(月) 23:07:29.74ID:0rbvsgzk ヒント : 日付
836デフォルトの名無しさん
2018/12/31(月) 23:09:17.73ID:LUt0Quvy838615
2018/12/31(月) 23:16:34.16ID:6bMDAT8f >829 名前:デフォルトの名無しさん[sage] 投稿日:2018/12/31(月) 17:58:26.87 ID:LUt0Quvy
>>828
>オブジェクト指向を行うための標準的な方法
それをperlに求めるのは筋違いだろ。
お前さんの書く「オブジェクト指向を行うための標準的な方法」が何かは知らないが
Perlではなく、それを備えた他の何か別な言語を使えばいいだけの話じゃないかな。
>>828
>オブジェクト指向を行うための標準的な方法
それをperlに求めるのは筋違いだろ。
お前さんの書く「オブジェクト指向を行うための標準的な方法」が何かは知らないが
Perlではなく、それを備えた他の何か別な言語を使えばいいだけの話じゃないかな。
839デフォルトの名無しさん
2019/01/01(火) 00:42:39.69ID:WFGHAbKk840デフォルトの名無しさん
2019/01/01(火) 00:44:50.00ID:WFGHAbKk841デフォルトの名無しさん
2019/01/01(火) 01:07:42.37ID:dsnk2i9g842デフォルトの名無しさん
2019/01/01(火) 01:31:46.17ID:WFGHAbKk そのやり方が不足しているために、いろんなやり方ができてしまって
混乱してるって話をず〜っとしてるんだが
混乱してるって話をず〜っとしてるんだが
843デフォルトの名無しさん
2019/01/01(火) 01:44:48.23ID:WFGHAbKk 混乱じゃないな。混沌か。
844デフォルトの名無しさん
2019/01/01(火) 03:40:45.46ID:qrGSiep2 それがPerl。
いろんなやりかたがあってもいい。
イヤならPythonでもRubyでもどうぞ。
いろんなやりかたがあってもいい。
イヤならPythonでもRubyでもどうぞ。
845デフォルトの名無しさん
2019/01/01(火) 04:42:46.75ID:WFGHAbKk >>844
嫌とは言ってないよ
Perlはオブジェクト指向をやるときに標準なやり方がないので
人やライブラリによって書き方が異なる
最小限の機能しか持っていないため、書き方が煩雑になる。
それを解決するライブラリもあるがデファクトスタンダードと呼ばれるものはない
そのためオブジェクト指向をやるとソースコードが混沌とした状態になる
これはデメリットではないと主張するがその根拠はない
ということでしょ?
嫌とは言ってないよ
Perlはオブジェクト指向をやるときに標準なやり方がないので
人やライブラリによって書き方が異なる
最小限の機能しか持っていないため、書き方が煩雑になる。
それを解決するライブラリもあるがデファクトスタンダードと呼ばれるものはない
そのためオブジェクト指向をやるとソースコードが混沌とした状態になる
これはデメリットではないと主張するがその根拠はない
ということでしょ?
846615
2019/01/01(火) 06:56:08.14ID:wEmHEx+3 Javaのオブジェクト指向じゃダメだからいろんなオブジェクト指向の言語が乱立しているのに
847615
2019/01/01(火) 07:05:33.16ID:wEmHEx+3 Perlは記述に拡張性があるから、
幾つかのオブジェクト指向の仕組みを拡張しようという流れが出たのは
自然なことで、宿命みたいなものだよ
幾つかのオブジェクト指向の仕組みを拡張しようという流れが出たのは
自然なことで、宿命みたいなものだよ
848デフォルトの名無しさん
2019/01/01(火) 09:32:39.73ID:qcGL6dxE うん。だからいろんなやり方が出て混沌状態になった。
駄目とは言ってないよ。
混沌状態になるといってるだけ
駄目とは言ってないよ。
混沌状態になるといってるだけ
849デフォルトの名無しさん
2019/01/01(火) 16:14:48.46ID:O6bdw0M8850615
2019/01/01(火) 18:05:00.64ID:XbYa03OK 混沌は別に悪いことばかりではないし、
まぁ趣旨換えしたようだからそっとしておきましょう
まぁ趣旨換えしたようだからそっとしておきましょう
851788
2019/01/07(月) 11:29:47.54ID:44u2lGi3 また教えてください。おねがいします。
1、下記のようなコードで aliasみたいなことはできないのでしょうか?
2、直接リファレンスをリストとして受けれるでしょうか?
元のコード(動く)
sub append {
my ($tbl, $data) = @_;
push(@$tbl, $data);
}
my @list;
append(\@list, 10);
append(\@list, 20);
1、$pから別名@tblを作りたい
sud append{
my ($p, $data) =@_;
my @tbl=
push(@tbl, $data);
}
2、リファレンスを直接リストのポインタとして受けたい
sub append {
my (@tbl, $data) = @_;
1、下記のようなコードで aliasみたいなことはできないのでしょうか?
2、直接リファレンスをリストとして受けれるでしょうか?
元のコード(動く)
sub append {
my ($tbl, $data) = @_;
push(@$tbl, $data);
}
my @list;
append(\@list, 10);
append(\@list, 20);
1、$pから別名@tblを作りたい
sud append{
my ($p, $data) =@_;
my @tbl=
push(@tbl, $data);
}
2、リファレンスを直接リストのポインタとして受けたい
sub append {
my (@tbl, $data) = @_;
852デフォルトの名無しさん
2019/01/07(月) 13:11:23.07ID:44u2lGi3 なんとか1を出来ないものかとやってみても、
@tbl=@{$p};だと実体のコピーだし、\@tbl=\@{$p};これじゃあエラーだし、
2も同じか・・・きっと、ダメなんですね
@tbl=@{$p};だと実体のコピーだし、\@tbl=\@{$p};これじゃあエラーだし、
2も同じか・・・きっと、ダメなんですね
853デフォルトの名無しさん
2019/01/07(月) 17:42:31.40ID:sY/RJhpW my (@tbl, $data) = @_;
は全部 @tbl に入っちゃうから…
あと、パッケージ変数を使えば
my @a0 = qw( a b c );
our @a1;
*a1 = \@a0;
みたいなこともできるけど。
my 変数で同じことをするモジュールもあったような気が…
は全部 @tbl に入っちゃうから…
あと、パッケージ変数を使えば
my @a0 = qw( a b c );
our @a1;
*a1 = \@a0;
みたいなこともできるけど。
my 変数で同じことをするモジュールもあったような気が…
854デフォルトの名無しさん
2019/01/07(月) 18:14:18.86ID:44u2lGi3 >>853
レスありがとうございます。perlだと、このぐらいまでなんですね。(ポインタ)
レスありがとうございます。perlだと、このぐらいまでなんですね。(ポインタ)
855デフォルトの名無しさん
2019/01/07(月) 19:02:01.15ID:fnTlHl64 型グロブが使えるとは思うが素直に参照渡しした方が分かりやすくてよいと思う。
856デフォルトの名無しさん
2019/01/07(月) 20:21:54.90ID:ysTcYJUI 最近のなら、push($tbl,$data)でいいんじゃないの?
857デフォルトの名無しさん
2019/01/07(月) 22:54:34.52ID:+HHyWqnO そもそもコピーじゃなくて別名が欲しいケースがないしなあ
ttps://metacpan.org/pod/Data::Alias
>>856
これ?
ttp://perldoc.jp/docs/perl/5.24.0/perl5240delta.pod#The32autoderef32feature32has32been32removed
ttps://metacpan.org/pod/Data::Alias
>>856
これ?
ttp://perldoc.jp/docs/perl/5.24.0/perl5240delta.pod#The32autoderef32feature32has32been32removed
858デフォルトの名無しさん
2019/01/07(月) 23:09:39.45ID:06kCHHmC あれはあかんだろ
859デフォルトの名無しさん
2019/01/08(火) 13:40:47.95ID:4YYD5GZN そもそもperlにポインタという用語はないのでポインタポインタと言われても何を言いたいのかわからない
「リファレンス」と「ポインタ」と両方使ってるからリファレンスのことをポインタと呼んでるのでもないようだし
「リファレンス」と「ポインタ」と両方使ってるからリファレンスのことをポインタと呼んでるのでもないようだし
862デフォルトの名無しさん
2019/01/09(水) 12:59:04.70ID:xuLfg6C4 >>861
いや。決まってないけどだいたい5。
いや。決まってないけどだいたい5。
863デフォルトの名無しさん
2019/01/09(水) 14:07:02.03ID:Z1NH8E36 6やるなら流石にぱいそんとかるびーに行くよね
ディストリビューションのデフォルトが6になったら別だけど
ディストリビューションのデフォルトが6になったら別だけど
864デフォルトの名無しさん
2019/01/09(水) 15:16:50.41ID:YARXrpzb Perl6/Parrotスレ - Part2
https://medaka.5ch.net/test/read.cgi/php/1162721943/
Perl6のスレが無いわけでもないが、閑散としているな。
https://medaka.5ch.net/test/read.cgi/php/1162721943/
Perl6のスレが無いわけでもないが、閑散としているな。
865デフォルトの名無しさん
2019/01/09(水) 18:51:53.85ID:JvHk+PyX いろんな現場を渡り歩くからなあ
perlは無かったことが無いけど、今のとこにpythonは無い
rubyは何故かある
perlは無かったことが無いけど、今のとこにpythonは無い
rubyは何故かある
866デフォルトの名無しさん
2019/01/09(水) 22:57:14.81ID:bKnxXw4g perl はすでにGit for Windowsの一部だし。
867デフォルトの名無しさん
2019/01/13(日) 23:01:19.72ID:V4Yo7Lhe スレタイのモダンってなに?
868デフォルトの名無しさん
2019/01/13(日) 23:21:10.89ID:WrQFCZ8r >>859
当時の流行。
当時の流行。
869デフォルトの名無しさん
2019/01/13(日) 23:21:52.81ID:WrQFCZ8r ↑アンカミスorz
870デフォルトの名無しさん
2019/01/14(月) 07:44:40.25ID:E5iBbbFr 近代のことで、日本史的には明治維新から終戦まで
871デフォルトの名無しさん
2019/01/15(火) 08:57:17.72ID:G1ZK+rbt この↓本スレが去年の2月に終わったけれど、誰も新スレを立てられなかったみたいなんだよ。
Perlについての質問箱 63箱目
https://mevius.5ch.net/test/read.cgi/tech/1392820583/
そこで、「モダン推奨」な人が立てたこの隔離スレが本スレの代わりになっている。
本当に誰か「モダン推奨」が無い新スレ立てられない?
Perlについての質問箱 63箱目
https://mevius.5ch.net/test/read.cgi/tech/1392820583/
そこで、「モダン推奨」な人が立てたこの隔離スレが本スレの代わりになっている。
本当に誰か「モダン推奨」が無い新スレ立てられない?
872デフォルトの名無しさん
2019/01/15(火) 10:20:42.87ID:weoqLEpo 今となってはPerl自体レガシーだし、
そのモダンの人とやらもいないんじゃね?
確かに一時期「これからはモダンが〜」みたいなのあったなぁ
そのモダンの人とやらもいないんじゃね?
確かに一時期「これからはモダンが〜」みたいなのあったなぁ
873デフォルトの名無しさん
2019/01/23(水) 20:18:11.02ID:VQOsz2i7 喪男推奨
874デフォルトの名無しさん
2019/02/01(金) 22:10:39.60ID:1/Kr4Qjk Perlについての質問箱 64箱目
https://mevius.5ch.net/test/read.cgi/tech/1548981877/
https://mevius.5ch.net/test/read.cgi/tech/1548981877/
875デフォルトの名無しさん
2019/06/19(水) 04:59:38.60ID:tVNS+22r 【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
876デフォルトの名無しさん
2019/11/02(土) 13:46:26.21ID:smHgTNTv package文で宣言するパッケージ名の階層と、
当該パッケージの置き場所のディレクトリの階層って
一致させねばいけないもの?それとも不一致でも無問題?
当該パッケージの置き場所のディレクトリの階層って
一致させねばいけないもの?それとも不一致でも無問題?
877デフォルトの名無しさん
2019/11/02(土) 14:00:04.49ID:smHgTNTv 標準モジュールのソースコードを見ると、ディレクトリの階層とパッケージの宣言が一致している
(例えばTest::More.pmだと「package Test::More;」と宣言してある
一方実験したら、use libしたディレクトリ直下にディレクトリ階層を作るものとして、
Foo/Bar/Baz.pm
の冒頭において
package X::Baz.pm
と宣言したら、次のようにしてX::修飾つきでパッケージを呼び出せた:
use Foo::Bar::Baz;
my $obj = X::Baz->new(); // OK
どういうこっちゃ…
(例えばTest::More.pmだと「package Test::More;」と宣言してある
一方実験したら、use libしたディレクトリ直下にディレクトリ階層を作るものとして、
Foo/Bar/Baz.pm
の冒頭において
package X::Baz.pm
と宣言したら、次のようにしてX::修飾つきでパッケージを呼び出せた:
use Foo::Bar::Baz;
my $obj = X::Baz->new(); // OK
どういうこっちゃ…
878デフォルトの名無しさん
2019/11/02(土) 16:01:49.62ID:i/sKHoLN 慣習として一致させるものだけど、不一致にするような正当な理由があればそうしてもいい
879デフォルトの名無しさん
2019/11/02(土) 17:25:05.95ID:gW/EBDV5 Perlの文脈としてわかりにくくなるだけで
なんのメリットも無い気がする
なんのメリットも無い気がする
880デフォルトの名無しさん
2019/11/23(土) 11:23:39.89ID:r11kVh6u 複数行からなるJSONファイルの読み込みって普通どうやるの?
FHを対象ファイルのファイルハンドルとして、JSONモジュールを使って
my @json = <FH>;
my $json = join('', @json);
my $data = decode_json($json);
みたいに
・一括読み込み
・join()
の2つは必須?
これだと機械生成されたJSONファイルがたまたま数ギガバイトあったりしたらどうするんじゃ…
というわけでエラーケースも考えたら1行づつ読み込みたいのですが、
FHを対象ファイルのファイルハンドルとして、JSONモジュールを使って
my @json = <FH>;
my $json = join('', @json);
my $data = decode_json($json);
みたいに
・一括読み込み
・join()
の2つは必須?
これだと機械生成されたJSONファイルがたまたま数ギガバイトあったりしたらどうするんじゃ…
というわけでエラーケースも考えたら1行づつ読み込みたいのですが、
881デフォルトの名無しさん
2019/11/23(土) 11:26:07.48ID:r11kVh6u 自己解決しますたスマン、
ドキュメントを読んだら
INCREMENTAL PARSING
というのセクションがあったわ;
ドキュメントを読んだら
INCREMENTAL PARSING
というのセクションがあったわ;
882デフォルトの名無しさん
2019/12/10(火) 20:50:10.71ID:1a1TW34R pushする時に重複してたらpushしない拡張pushを作りたいとする
配列のリファレンスと値を渡す
普通に作って動くんだけど、渡したリファレンスがundefだった時は動かない
pushならundefでも動くのに
これを何とかundefも受け付けるようにできないもんか
普通に考えるとできないんだけど
配列のリファレンスと値を渡す
普通に作って動くんだけど、渡したリファレンスがundefだった時は動かない
pushならundefでも動くのに
これを何とかundefも受け付けるようにできないもんか
普通に考えるとできないんだけど
883デフォルトの名無しさん
2019/12/11(水) 10:26:34.70ID:dG8VWZ74 >>882
undefの時にどのように動いて欲しいのか?
undefの時にどのように動いて欲しいのか?
884デフォルトの名無しさん
2019/12/11(水) 20:22:08.85ID:xy3VmN4D 自作関数の中でリファレンスに[]宣言すればいいだけじゃねーの
# 俺と同じ発想なら、だけど。
sub pushn {
$_[0] = [] if ! defined $_[0] ;
my $arr = shift ;
my %h = map { $_, 1 } @{$arr} ;
push @{$arr}, grep { ! $h{$_} ++ } @_ ;
}
my $arr ;
pushn $arr, '1' ;
# $arr = [ 1 ] ;
pushn $arr, '2', '1', '9' ;
# $arr = [ 1, 2, 9 ] ;
# 俺と同じ発想なら、だけど。
sub pushn {
$_[0] = [] if ! defined $_[0] ;
my $arr = shift ;
my %h = map { $_, 1 } @{$arr} ;
push @{$arr}, grep { ! $h{$_} ++ } @_ ;
}
my $arr ;
pushn $arr, '1' ;
# $arr = [ 1 ] ;
pushn $arr, '2', '1', '9' ;
# $arr = [ 1, 2, 9 ] ;
885デフォルトの名無しさん
2019/12/11(水) 20:35:25.81ID:xy3VmN4D ×リファレンスに[]宣言
○元の変数にリファレンス宣言
○元の変数にリファレンス宣言
886デフォルトの名無しさん
2019/12/12(木) 18:58:31.26ID:3Xh4/du7 $_ がエイリアスだからできるのか
普通は危ないから左辺値にしないよな
普通は危ないから左辺値にしないよな
887デフォルトの名無しさん
2019/12/12(木) 21:46:01.56ID:8fLoSBsV my @tmp = map { hogehoge } ( (ref $_[0]) ? @$_[0] : () );
こんなんで動かないかね?
こんなんで動かないかね?
888デフォルトの名無しさん
2019/12/12(木) 21:56:12.99ID:3Xh4/du7 読みにくく書いても得しないからなあ
$_ を使わずに実現する方法があればそうしたい
$_ を使わずに実現する方法があればそうしたい
889デフォルトの名無しさん
2019/12/12(木) 22:06:26.14ID:V4YdibXT >普通は危ないから左辺値にしないよな
理解してりゃ、危なくもなんともないと思うが、、、
理解してりゃ、危なくもなんともないと思うが、、、
890デフォルトの名無しさん
2019/12/12(木) 22:25:24.61ID:V4YdibXT >>888
だったらコンセプト変えて普通にプロトタイプ使え
sub pushm (¥@@){
my $arr = shift ;
my %h ;
push @{$arr}, grep { ! $h{$_} ++ } @{$arr} , @_ ;
}
my $arr ;
pushm @{$arr}, 1, 2, 3, 4 ;
コードの変更は殆どいらなくて、且つ自作変数の外側で、
(暗黙の)初期化をせざるを得ないから、$_[0] への初期化は
しなくてすむ。
だったらコンセプト変えて普通にプロトタイプ使え
sub pushm (¥@@){
my $arr = shift ;
my %h ;
push @{$arr}, grep { ! $h{$_} ++ } @{$arr} , @_ ;
}
my $arr ;
pushm @{$arr}, 1, 2, 3, 4 ;
コードの変更は殆どいらなくて、且つ自作変数の外側で、
(暗黙の)初期化をせざるを得ないから、$_[0] への初期化は
しなくてすむ。
891デフォルトの名無しさん
2019/12/12(木) 22:28:33.66ID:V4YdibXT ああ、コード間違えてるけど、>>884のコード流用してくれ
892デフォルトの名無しさん
2019/12/13(金) 00:04:09.33ID:Oz2tw7ml $_と@_の区別すら付いてない奴に教える必要なんかねえよ
893デフォルトの名無しさん
2019/12/13(金) 18:59:29.78ID:xux/XkmF こういう時にプロトタイプが役立つのか
sub func(\@@);
とプロトタイプが書いてあって、perlは使えるけどプロトタイプ知らない人に、
この関数呼び出してみろって言ったら、10人が10人
func(\@array1, @array2);
って書くと思うな
sub func(\@@);
とプロトタイプが書いてあって、perlは使えるけどプロトタイプ知らない人に、
この関数呼び出してみろって言ったら、10人が10人
func(\@array1, @array2);
って書くと思うな
894デフォルトの名無しさん
2019/12/13(金) 23:43:34.11ID:tge0kpAy それでもちゃんと呼び出せるからべつにいいやん。
895デフォルトの名無しさん
2019/12/13(金) 23:53:07.48ID:Roals1MV (\@∀@)
896デフォルトの名無しさん
2019/12/14(土) 00:01:01.77ID:C/H6m2n1 配列をコンマで区切って並べると、多次元配列にならずに配列が繋がるだけ
というシンプルな仕様が仇になってるんだよな
どうあがいても、引数に配列が現れると、その後の引数と合体してしまうので、
リファレンスで渡すしか無い
だからって、push(\@array, $var) みたい使い方を強いるのは不格好過ぎる
ということで、呼び出し側では実引数を渡しているように見えて、
裏ではリファレンスで受け取るというねじれが生じていて、
プロトタイプでそのねじれを吸収している
というシンプルな仕様が仇になってるんだよな
どうあがいても、引数に配列が現れると、その後の引数と合体してしまうので、
リファレンスで渡すしか無い
だからって、push(\@array, $var) みたい使い方を強いるのは不格好過ぎる
ということで、呼び出し側では実引数を渡しているように見えて、
裏ではリファレンスで受け取るというねじれが生じていて、
プロトタイプでそのねじれを吸収している
897デフォルトの名無しさん
2019/12/14(土) 08:31:07.01ID:tdigeeoh898デフォルトの名無しさん
2019/12/14(土) 08:37:29.90ID:tdigeeoh 通常は、プロトタイプ使ったサブルーチンはモジュールの中に隔離して
perldocだけ読ませて使わせるから、>>893の問題は生じないんだけどなw
個人のコードでどう扱うかは知らん。
代表的なプロトタイプのコードの例↓(List::MoreUtilsの古いバージョン)
https://fastapi.metacpan.org/source/ADAMK/List-MoreUtils-0.33/lib/List/MoreUtils.pm
perldocだけ読ませて使わせるから、>>893の問題は生じないんだけどなw
個人のコードでどう扱うかは知らん。
代表的なプロトタイプのコードの例↓(List::MoreUtilsの古いバージョン)
https://fastapi.metacpan.org/source/ADAMK/List-MoreUtils-0.33/lib/List/MoreUtils.pm
899デフォルトの名無しさん
2019/12/14(土) 09:03:25.68ID:C/H6m2n1 >>897
それエラーになるだけ
それエラーになるだけ
900デフォルトの名無しさん
2019/12/14(土) 09:22:43.70ID:tdigeeoh901デフォルトの名無しさん
2019/12/14(土) 10:07:00.59ID:tdigeeoh 暇だったから、plenv に 5.30.1 突っ込んで確認したが、エラーにならん
もちろんuse strict; use warnings; 効かせて
# ストロベリーとかの環境は知らん
sub pusht (¥@@){ my $c = shift ; push @{$c}, @_ ; }
my @arr ;
my $arr ;
pusht @arr, 1, 2, 3, 4 ;
&pusht( $arr, 1, 2, 3, 4 ) ;
# @arr => ( 1, 2, 3, 4 )
# $arr => undef
もちろんuse strict; use warnings; 効かせて
# ストロベリーとかの環境は知らん
sub pusht (¥@@){ my $c = shift ; push @{$c}, @_ ; }
my @arr ;
my $arr ;
pusht @arr, 1, 2, 3, 4 ;
&pusht( $arr, 1, 2, 3, 4 ) ;
# @arr => ( 1, 2, 3, 4 )
# $arr => undef
902デフォルトの名無しさん
2019/12/14(土) 11:03:07.43ID:6h9Np3wz ふつうに関数を呼び出すのにわざわざ&をつけるようなヤツは、10人に1人もいねえよ。w
903デフォルトの名無しさん
2019/12/14(土) 11:20:47.16ID:FPT3g5nH いないとどれだけ楽か(泣)
「KENT-webに書いてありましたよ」
「」
「KENT-webに書いてありましたよ」
「」
904デフォルトの名無しさん
2019/12/14(土) 11:36:46.61ID:tdigeeoh905デフォルトの名無しさん
2019/12/15(日) 00:13:17.48ID:uHh4aFtn &つけるのって少数派なのか
俺絶対つけてるけど
ある現場で「え、今そんなのつけませんよ…」ってちょっと引いてすらいる感じで言われたことある
まあもうその現場もrailsになったはずだけど
俺絶対つけてるけど
ある現場で「え、今そんなのつけませんよ…」ってちょっと引いてすらいる感じで言われたことある
まあもうその現場もrailsになったはずだけど
906デフォルトの名無しさん
2019/12/15(日) 00:30:38.21ID:gPijPjuC C言語でもautoって書いてそうだ
907デフォルトの名無しさん
2019/12/15(日) 01:55:45.57ID:EMEs5NEs908デフォルトの名無しさん
2019/12/15(日) 02:19:39.95ID:uHh4aFtn これは関数であるって目印としてつけてる
俺の中では可読性の為
つけないのはData::Dumper()とかモジュールから直で呼ぶ場合だけかな
俺の中では可読性の為
つけないのはData::Dumper()とかモジュールから直で呼ぶ場合だけかな
909デフォルトの名無しさん
2019/12/15(日) 07:37:43.49ID:R35TvKP/ 呼出で挙動がかわるの、充分に分ってるなら「個人で使うなら」いいんじゃねーの?
910デフォルトの名無しさん
2019/12/15(日) 07:43:22.45ID:R35TvKP/ プロトタイプの呼出以外にも
@_ = (1,2,3,4) ; &func ;
で特殊挙動するし、地雷だらけだよXXルーチン
なんでXXがNGワードになってんの?
北島三郎のことXXちゃんって書き込めないの?
俺の環境だけ?
>>907
「perl, XXルーチン」でググると検索上位に来るんだよ、今でも
@_ = (1,2,3,4) ; &func ;
で特殊挙動するし、地雷だらけだよXXルーチン
なんでXXがNGワードになってんの?
北島三郎のことXXちゃんって書き込めないの?
俺の環境だけ?
>>907
「perl, XXルーチン」でググると検索上位に来るんだよ、今でも
911デフォルトの名無しさん
2019/12/15(日) 07:46:10.55ID:gPijPjuC サブルーチン
912デフォルトの名無しさん
2019/12/15(日) 07:47:19.44ID:KI19HfKk teratailのサブルーチン絡みの質問斜め見て、頭痛くなったわ。
質問者はしょうがないとしても、回答で&付けるってどういう了見だ?
質問者はしょうがないとしても、回答で&付けるってどういう了見だ?
913デフォルトの名無しさん
2019/12/15(日) 07:48:41.86ID:R35TvKP/ 俺の環境だけかよorz…
914デフォルトの名無しさん
2019/12/15(日) 08:32:32.51ID:KI19HfKk >>904
お作法本全盛期(2010年代前半)なら、相手はお作法本を読んでる可能性がある。
引いてる程度じゃなくて、どん引きされたのかもよ
# お作法本: Perl ベストプラクティス、Effective Perl etc.
KENT-webもだけど、お作法本インスパイヤで、オレオレお作法のページが
山程あるのも滅んで欲しいわ。
お作法本全盛期(2010年代前半)なら、相手はお作法本を読んでる可能性がある。
引いてる程度じゃなくて、どん引きされたのかもよ
# お作法本: Perl ベストプラクティス、Effective Perl etc.
KENT-webもだけど、お作法本インスパイヤで、オレオレお作法のページが
山程あるのも滅んで欲しいわ。
915デフォルトの名無しさん
2019/12/15(日) 08:34:58.76ID:KI19HfKk916デフォルトの名無しさん
2019/12/15(日) 08:46:16.32ID:gPijPjuC 作法は一つではない
917デフォルトの名無しさん
2019/12/15(日) 08:51:11.22ID:KI19HfKk 一つじゃないのは当たり前
けど、オレオレお作法のページはいらない
けど、オレオレお作法のページはいらない
918デフォルトの名無しさん
2019/12/20(金) 00:38:27.17ID:nzfj8t5I919デフォルトの名無しさん
2019/12/20(金) 00:57:05.41ID:cphYS5E7 YAPC が YARC になって ヤラしい
920デフォルトの名無しさん
2019/12/20(金) 06:50:52.69ID:GiJ3WKor keysがスカラを引数に取れるせいで、なんか間違った書き方してる所があちこちある
どっちでも大抵は動くけど、エラーで止まりやすい
明示的にデリファレンスしてればエラーにはならない
どっちでも大抵は動くけど、エラーで止まりやすい
明示的にデリファレンスしてればエラーにはならない
921デフォルトの名無しさん
2019/12/20(金) 07:10:52.86ID:8NcASRwh それ、実験的に5.14から搭載されて、5.24で削除された機能
エラーで止るのは環境依存か、書き手がヘボか
そもそも使うんじゃねー、ってのが主旨なら、同意
エラーで止るのは環境依存か、書き手がヘボか
そもそも使うんじゃねー、ってのが主旨なら、同意
922デフォルトの名無しさん
2020/02/14(金) 23:14:26.30ID:x2wQj3nb 配列があって、条件に合わないものを削りたい
0 .. $#array に対してループしながらspliceすると、
$i-- でも redo でもなんか不安がある
どうするのが定番なんだろう
0 .. $#array に対してループしながらspliceすると、
$i-- でも redo でもなんか不安がある
どうするのが定番なんだろう
923デフォルトの名無しさん
2020/02/15(土) 13:11:27.84ID:Slu9Ub4W grep { $_ > 0 } @array
924デフォルトの名無しさん
2020/02/15(土) 18:06:37.80ID:jU+J++ht @array = grep { $_ > 0 } @array
とやって平気な気がしない
別の配列を用意していいなら既に出来ていて、
それを何とかすっきりできないかと
とやって平気な気がしない
別の配列を用意していいなら既に出来ていて、
それを何とかすっきりできないかと
925デフォルトの名無しさん
2020/02/15(土) 19:06:58.27ID:Slu9Ub4W (平気な気がしないとか言われても知らんがな)
まず「すっきりできる」を定義してください
まず「すっきりできる」を定義してください
926デフォルトの名無しさん
2020/02/15(土) 19:20:44.91ID:jU+J++ht ああー
逃げに入っちゃった
逃げに入っちゃった
927デフォルトの名無しさん
2020/02/15(土) 23:03:36.63ID:pIpzwBTs spliceするのはよくない気がする→何が定番なんだろうって話だと
grepが定番でしょ
別に結果配列用意するのでもいいんじゃないの
grepが定番でしょ
別に結果配列用意するのでもいいんじゃないの
928デフォルトの名無しさん
2020/02/15(土) 23:40:20.22ID:KTVOtCHP spliceの、僕が考えた最強関数的な仕様はイヤかも。
もっと構文レベルで同じことができると良かった。
もっと構文レベルで同じことができると良かった。
929デフォルトの名無しさん
2020/05/09(土) 14:56:48.37ID:KF1jgHuK WindowsでPerlを使いたいんですが、どれが良いですか。
ActivePerlはアンインストールしてもゴミが残るそうなので避けたいのですが。
ActivePerlはアンインストールしてもゴミが残るそうなので避けたいのですが。
930デフォルトの名無しさん
2020/05/09(土) 18:21:47.00ID:HzJsK433 ストロベリーパニック
931デフォルトの名無しさん
2020/05/09(土) 18:51:24.57ID:/Z4Vk9Yy Windows10, WSL, Ubuntu 18.04 なら、最初から入っているけど
file `which perl`
/usr/bin/perl: ELF 64-bit LSB shared object 以下省略
file `which perl`
/usr/bin/perl: ELF 64-bit LSB shared object 以下省略
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★5 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★4 [BFU★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 【外交】前台湾総統・馬英九氏、高市首相発言に「台湾を危険にさらす」台湾海峡の問題は「両岸の中国人が自ら話し合うべき」 [1ゲットロボ★]
- 【愛国者速報】フィフィ、中国の“日本産水産物輸入停止”措置に私見「中国依存しないとやっていけない企業は考えを改めて」 [856698234]
- 【ござる専🏡】風間🥷配信実況スレ🏯【風間いろは】
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- 細川バレンタイン、高岡蒼佑(元祖ネトウヨの親玉)にブチギレ。 [242521385]
- 中国「私達が怒ってるのは日本の政治家に対してで、日本の観光客や日本企業はこれまで通り歓迎する。これこそが大国としての余裕」 [377482965]
- 横浜市職員が公文書偽造と廃棄!市民に「お前が虚偽の申告をしたと言え」と命令😨 [369521721]
