Aditi Gupta <[EMAIL PROTECTED]> wrote: > to extract data columnwise from a file, the following code > was written with the help of perl experts of this list. the > script is as follows:
> #!usr/bin/perl > use warnings; use strict; > my %hash; > > $file= "try.txt"; > > open (FH, $file) or die; > @rows=<FH>; 1) my @rows; 2) slurping a file is bad. Instead, use while( my $line = <FH> ){ > chomp $line; > $x = length $line; > > for (my $j=0; $j<$x; $x++) This loop will never terminate - you initialize $j, but increment $x. > # to get value in each column of $line > > push @{$hash{$j}}, substr $line,$j,1; Instead, I'd recommend my $j = 0; foreach my $char ( split //, $line ){ push @{$hash{$j++}}, $char; } > } > } > > foreach my $hkey (keys %hash) { > print "@{$hash{$hkey}}\n"; Wouldn't make sorting things look better? foreach my $hkey (sort {$a <=> $b} keys %hash) { print "@{$hash{$hkey}}\n"; } HTH, Thomas -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>