2013-04-25 9 views
5
#!/usr/bin/perl 
# countlines2.pl by Bill Weinman <http://bw.org/contact/> 
# Copyright (c) 2010 The BearHeart Group, LLC 

use strict; 
use warnings; 

sub main { 
my @values = (43,123,5,89,1,76); 
my @values1 = sort(@values); 

    foreach $value(@values1){ 
    print "$value\n"; 
    } 
} 

Errors - 
"Global symbol "$value" requires explicit package name at task2.txt line 12 
"Global symbol "$value" requires explicit package name at task2.txt line 13 

私は上記のエラーが発生しているので、私は初心者です。また、perlがデフォルトでどのように数値をソートするかを教えてください(ソート(@values)はどうなるでしょうか?)。Perlは明示的なパッケージ名が必要です

foreach my $value(@values1){ 
    print "$value\n"; 
    } 

仕分けドキュメントはここで見つけることができます:http://perldoc.perl.org/functions/sort.htmlあなたが$valueを宣言されていないため、

+0

エラーメッセージは、実際の問題に対して意味をなさないであるべきです。 – nobar

答えて

11

エラーです。

あなたはあなたにこの追加情報与えるそれは役に立ち use diagnostics;を追加するために見つけるかもしれない
14

(F)あなたは「厳格な使用」または「厳密VARSを使用する」と述べましたが、 そのすべての変数を示し、 "my"または "state"を使用して、 "our"を使用して事前に宣言されているか、グローバル変数がどのパッケージにあるかを明示的に修飾する( "::"を使用して)かを明示的に修飾する必要があります。

foreach $value(@values1){foreach my $value(@values1){

関連する問題