スカラーとリストがよく分かってません
#!/usr/bin/perl use strict; use warnings; my $likes_scarar = <STDIN> =~ /\byes\b/i; print "$likes_scarar\n"; my($likes_list) = <STDIN> =~ /\byes\b/i; print "$likes_list\n";
端末から実行する。どっちも、yesと入力する。
$ ./09-03.pl yes 1 yes 1
こうなるんですよね。
何が腑に落ちないかというと、2番目の
だから、実行結果は以下を期待してたんだけど。
$ ./09-03.pl yes 1 yes yes
なんでだろう?
my($likes_list) = <STDIN> =~ /\byes\b/i;
これって、リストコンテキストだよね。
yesって返さないんですか?
いま、ハマってます。
以上、perl初心者でした。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
6月24日追記。自己解決
()でくくれば、良かったみたい。
#!/usr/bin/perl use strict; use warnings; my $likes_scarar = <STDIN> =~ /(\byes\b)/i; print "$likes_scarar\n"; my($likes_list) = <STDIN> =~ /(\byes\b)/i; print "$likes_list\n";
実行してみる。
$ ./09-03.pl yes 1 yes yes
わーい。