support values with float suffixes e±N
authorMischa POSLAWSKY <perl@shiar.org>
Sat, 7 Sep 2019 14:30:38 +0000 (16:30 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Sat, 7 Sep 2019 18:16:38 +0000 (20:16 +0200)
barcat

diff --git a/barcat b/barcat
index e6b22b6872becc110a6fe3934077c51e61851b8a..3e1980d6aabef20521353281e5c4e0d167a34c3f 100755 (executable)
--- a/barcat
+++ b/barcat
@@ -68,7 +68,7 @@ if (defined $opt{interval}) {
 $SIG{INT} = 'IGNORE';  # continue after assumed eof
 
 my (@lines, @values);
-my $valmatch = qr/$opt{anchor} ( \h* -? [0-9]* \.? [0-9]+ |)/x;
+my $valmatch = qr/$opt{anchor} ( \h* -? [0-9]* \.? [0-9]+ (?: e[+-]?[0-9]+ )? |)/x;
 while (readline) {
        s/\r?\n\z//;
        s/^\h*// unless $opt{unmodified};
@@ -196,6 +196,7 @@ for example I<-f'(\d+)'> for the first digits anywhere.
 
 Format values using SI unit prefixes,
 turning long numbers like I<12356789> into I<12.4M>.
+Also changes an exponent I<1.602176634e-19> to I<160.2z>.
 
 =item -t, --interval[=<seconds>]