ÅÓ wrote: > dear all , I'am trying to write a script to neaten files as follows: > > 1 : #!/usr/local/bin/perl > 2 : > 3 : while ($inputline = <STDIN>) { > 4 : while ($inputline =~ /\b[A-Z]\S+/g) { > 5 : $word = $&; > 6 : $word =~ s/[;.,:-]$//; # remove punctuation > 7 : for ($count = 1; $count <= @wordlist; > 8 : $count++) { > 9 : $found = 0; > 10: if ($wordlist[$count-1] eq $word) { > 11: $found = 1; > 12: $wordcount[$count-1] += 1; > 13: last; > > > I want to clear the number and colon at the beginning of each line and wirte > a perl script > > #/usr/bin/perl -w > use strict ; > > open MYFILE , "my.txt" ; > my @array=<MYFILE>; > my $count=0; > my @temp; > my $sum=0; > > for($count=0;$count lt @array ; $count++){ > (my $number,$temp[$sum])=split (/:/,$array[$count]); > print $number,"\n"; > $sum++; > } > > print @temp; > > > but the output just three lines instead of 17
You probably want something like: #/usr/bin/perl -w use strict ; open MYFILE , 'my.txt' or die "Cannot open 'my.txt' $!"; my @temp; while ( my $line = <MYFILE> ) { ( my $number, $line ) = split /:/, $line, 2; print "$number\n"; push @temp, $line; } print @temp; __END__ John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>