This should match ok (assuming the tabs come through in my sample data, anyway). Note that you'll want to change the \n in the output to \r if you want \r.
use strict;
use warnings;
while (<DATA>) {
if (m/\t(-?\$\d+.\d+)$/) {
print "$1\n";
}
}
__DATA__
12-31-2000 description $44.44
12-31-2000 description -$44.44