On Feb 4, 4:35 pm, jwkr...@shaw.ca ("John W. Krahn") wrote:
> Chris wrote:
> > I need some help with this problem.
> > I've got a text file datafile with 1 line of data comprised of 30
> > different numbers delimited with ~s.
>
> > I need to open this file, grab this line of data, split it into
> > individual numbers, perform some simple math (addition) on each
> > number, and then put the new values back into the datafile, replacing
> > the original data that was there.
>
> perl -i.bak -pe's/(\d+)/ $1 + 3 /eg' yourdatafile
>
> John
> --
> The programmer is fighting against the two most
> destructive forces in the universe: entropy and
> human stupidity.               -- Damian Conway

For instance, the below is your data file--- data.txt.
12~s1~s314~s5677~s899~s0~s
Here is the codes:
#!/usr/bin/perl
open(DATA,"data.txt");
while(<DATA>) {
  $number=$_;
 # print $number;
  while ($number =~ /([0-9]+)~s/g){
    printf ("%d\n","$1");
  }
}
close(DATA);



--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to