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/