2013-04-25 5 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 में शुरुआती हूं इसलिए मुझे उपरोक्त त्रुटियां हैं। कृपया मुझे बताएं कि कैसे perl डिफ़ॉल्ट रूप से संख्याओं को टाइप करता है (उदा। किस प्रकार (@values) का परिणाम होगा?)।पर्ल को स्पष्ट पैकेज नाम

+0

त्रुटि संदेश वास्तविक समस्या के संबंध में कोई मतलब नहीं है होना चाहिए। – nobar

उत्तर

11

त्रुटि है, क्योंकि आप $value की घोषणा नहीं कर रहे हैं:

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

छँटाई प्रलेखन यहां पाया जा सकता: http://perldoc.perl.org/functions/sort.html

14

आप इसे use diagnostics; जोड़ने के लिए उपयोगी है जो आप यह अतिरिक्त जानकारी देना होगा मिल सकती है:

(एफ) आप "सख्त का उपयोग" या "सख्त वार्स का उपयोग करें" कहा है, जो कि सभी चर को इंगित करता है या तो "मेरा" या "राज्य" का उपयोग करके, "हमारे" का उपयोग करके घोषित किया जाना चाहिए, या के लिए स्पष्ट रूप से योग्यता प्राप्त करना चाहिए कि वैश्विक चर में कौन सा पैकेज है ("::" का उपयोग करके)।

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

संबंधित मुद्दे