Shit!!

Thanks, 

How asinine of me. 




________________________________
From: Алексеев Александр <aleks...@rumonitor.ru>
To: Soham Das <soham...@yahoo.co.in>
Cc: beginners@perl.org
Sent: Tuesday, 29 September, 2009 2:52:26 PM
Subject: Re: Use Strict, Perl 5.10 and Global Symbol requires explicit package 
name

@dates and %dates are two different variables in Perl. An error occurs, becouse 
%dates is not declared.

--
Alexandr A Alexeev
http://web20.su/

Soham Das пишет:
> Take a look at the following snippet of code:
> 
> #!/usr/bin/perl
> use warnings;
> use strict;
> use Tie::Handle::CSV;
> #Read Market Data
> my $file1= shift @ARGV;
> my $file2= shift @ARGV;
> my $master_fh=Tie::Handle::CSV->new($file1,header=>1);
> my $transact_fh=Tie::Handle::CSV->new($file2,header=>1);
> #Date Extraction
> 
> my @dates;
> my $counter=0;
> my $index=0;
> while(<$master_fh>)
> {
> $dates{$counter}= $_->{'Date'} ;  #Line a
> $dates[$counter+1]=$index;
> $counter+=2;
> $index+=1;
> }
> my %datehash =...@dates;
> $counter=0;
> my %trades;
> while(<$transact_fh>)
> {
>     unless($trades{$_->{'Scrip'}}++)
>     {
>      $trades{$counter}=$_->{'Scrip'};    #Line b
>      $counter++;
>      $trades{$counter}=$counter-1;
>      $counter++;
>     }
> }
> 
> Now, I am using "use strict" directive (is that the right word, I am sorry I 
> am still stuck in C/C++ mode), now in Line a, I have changed from square 
> brackets to curly brackets for the hash work. The exactly same thing, is also 
> done in Line #b. 
> Why does, Line a throw a compiler error, "Global Symbol @dates requires 
> explicit package name" while Line b throws the same error if I do just the 
> opposite. Change the curly to sqaures.
> Btw, I can't do away with use strict directive.
> 
> Moreover, is there a better, more elegant way to do the same thing which I 
> have done inside the while loop? I am sure there is, because I think I 
> haven't use the features which make Perl beautiful. 
> And lastly, is there a way or a necessity to do, memory management. I agree, 
> I read somewhere Perl does it for you, but I am asking nevertheless.. For 
> example the array @dates, I need no longer, so can I do some delete() or 
> something like that for the entire array itself. 
> Thanks
> Soham
> 
> 
>       Try the new Yahoo! India Homepage. Click here. 
> http://in.yahoo.com/trynew
>  


-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/



      From cricket scores to your friends. Try the Yahoo! India Homepage! 
http://in.yahoo.com/trynew

Reply via email to