$/="====\n\n"; open (READFROM, "$readfrom") or die "Cannot open $readfrom: $!"; open (WRITETO, ">$writeto") or die "Cannot open $writeto: $!"; while ( ) { chomp; $_ =~ m/\$ (?:\d{1,3},?)+ (?:\.\d{0,2})? (?![.\d]) /x; my $price = "$2"; print "$price\n"; } close (WRITETO) or die "Cannot close $writeto: $!"; close (READFROM) or die "Cannot close $readfrom: $!";