On Tuesday 18 December 2007 13:48, minky arora wrote: > > Hi Gurus, Hello,
> I am parsing through a file and need to print the records in the > following order: > > Minky Arora > 235 River Drive, > Newton,PA 19073 > > Here is my code: > !/usr/bin/perl > > use strict; > open FILE, "/users/meenaksharora/db.txt" or die"cnt open $!"; > my($fname,$lname,$address,$lline,$line,@db); > foreach my $line(<FILE>){ > $fname=substr($line,0,10); > $lname=substr($line,10,15); > $address=substr($line,16,25); > > $lline=substr($line,59,13); > $fname=~s/\s+/ /; > $lname=~s/\s+/ /; > $address=~s/\s+/ /; > $lline=~s/\s+/ /; > print "$fname $lname\n"; > > > print "$address\n"; > print"$lline\n"; > } > > Now each record as I calculated is of a fixed lenght of 75 chars.I > need some idea as to how to run the Loop to print all such > records.Right now I am only able to print the first record, You could try something like this: #!/usr/bin/perl use warnings; use strict; my $file = '/users/meenaksharora/db.txt'; open my $fh, '<', $file or die "Cannot open '$file' $!"; while ( my $line = <$fh> ) { my ( $fname, $lname, $address, $lline ) = unpack 'A10 A15 A25 A13', $line; print "$fname $lname\n$address\n$lline\n"; } __END__ John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/