dear John
that's  what I want , thx

2006/3/30, John W. Krahn <[EMAIL PROTECTED]>:
>
> ÅÓ 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>
>
>
>


--
Terry Pang

Reply via email to