ÅÓ 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>