次のスクリプトは、Perlの学習における演習4.6.4用です。「リバースリスト」は、を使用せずに印刷するように求められますreverse
。
出力は質問が求めるものでしたが、入力と出力の間に「Use of unitialized value in print at line 18, <> line 4
」という警告が表示されました。で配列を要求したと思いましたline 10
。それでも警告が表示されるのはなぜですか?
1 #!/usr/bin/perl
2 #exercise4_6_4
3 use warnings;
4 use strict;
5
6 print "Type in your list: \n";
7 my $input =<>;
8 chomp $input;
9 my $i=0;
10 my @array;
11 while ($input ne "") {
12 $array[$i] = $input;
13 $input =<>;
14 chomp $input;
15 $i++;
16 };
17 while ($i !=0) {
18 print $array[$i],"\n";
19 $i--;
20 };
21 print "$array[$i]";
スクリプトを実行すると、次のようになります。
Type in your list:
child
books
flight
Use of uninitialized value in print at exercise4_6_4.pl line 18, <> line 4.
flight
books
child