David,
Instead of slurping up your data into an array, then looping over the array, you could
simply loop over the file!
==========================================================
#!/usr/bin/perl -w
use strict;
my %prices;
my $data = "/Users/dowda/Desktop/tmp test/test.txt";
open (FH,$data) || die "could not open $data $!";
while( <FH> ) {
my( $k, $v ) = split /,/;
$prices{$k} = $v;
}
close FH;
for my $key (keys %prices) {
print "$key = $prices{$key}\n";
}
--------------------------
David Olbersen
iGuard Engineer
11415 West Bernardo Court
San Diego, CA 92127
1-858-676-2277 x2152
> -----Original Message-----
> From: David Gilden [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, March 18, 2003 10:56 AM
> To: [EMAIL PROTECTED]
> Subject: Re: PERL OSX --- reading a local text file
>
>
> OK, one problem is solved, which was the path to the data file.
>
> I know there is a simple way to read in a file like the following:
>
> apple,2
> banana,4
> kiwi,1
>
>
> and produce a HASH. The code below works I get the feeling
> there is a more
> compact way to accomplish this.
>
> -------
>
> #!/usr/bin/perl -w
>
> use strict;
> my %prices;
>
> my $data = "/Users/dowda/Desktop/tmp test/test.txt";
>
> open (FH,$data) || die "could not open $data $!";
>
> local $/;
>
> my $tmp = <FH>;
> my @tmp = split (/\n/,$tmp);
>
> close FH;
>
> for (@tmp) {
> my ($k,$v) = split /,/;
> $prices{$k} =$v;
> }
>
> for my $key (keys %prices){
>
> print "$key = $prices{$key}\n";
>
> }
>
>
> Thanks for any pointers here,
>
> Dave
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]