Interesting, I see from your regexp you use a \A and \z, from Perldoc this means: \A Match only at beginning of string \z Match only at end of string
I am not sure I understand this requirement? In my case, I am checking an array of 3 scalars. Does this make sense: next unless @data =~ /$RE {num}{real}/; Does the regexp know to evaluate each element in the array implicitly? Or do I need to tell it this? Thanks so much! jlc -----Original Message----- From: Xavier Noria [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 18, 2007 3:38 PM To: Perl List Subject: Re: Convert Scientific Notation to decimal equivalent El Jul 18, 2007, a las 11:19 PM, Joseph L. Casale escribió: > How can I detect this, I have been running some code for a few days > to develop some files and ran into the situation where I am getting > the following data for input: > > 14.95313 14.45312 0 > 14.95313 1.570813E-015 0 > 14.95313 -14.45313 0 > -14.95313 -28.90625 0 > -14.95313 -14.45313 0 > -14.95313 1.570813E-015 0 > -14.95313 14.45312 0 > 14.95313 -28.90625 0 > 0 -28.90625 0 > -14.95313 28.90625 0 > 0 28.90625 0 > 14.95313 28.90625 0 > > And my code is skipping some lines as it checks for any erroneous > data: > next if grep (/[^0-9.-]/, @data); > But that thinks the scientific notation is bad. I searched the net > and didn't find anything. How can I match this specific pattern and > convert it? I am not sure I understand the problem to solve. You need to filter out lines that contain something that's *not* a number? If that's the case, is @data a split on whitespace for each line? If that's the case in turn, have a look at perldoc -q determine or delegate the job to Regexp::Common: $ perl -MRegexp::Common -wle 'print 1 if "1.570813E-015" =~ /\A$RE {num}{real}\z/' 1 -- fxn -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/ -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/