私は共有したいと思っていた perl で奇妙なことに出くわしました。「testfile.txt」というテキスト ファイルがあります。
ここにあります....
BLAH BLAH BLAH BLAH BLAH
The dollar amount is $2.30 today
BLAH BLAH BLAH BLAH BLAH
次に、2.30 を抽出します。以下の例では、ファイルを丸呑みしており、正常に動作しています。まったく機能しない2番目の方法。スラープには魔法がありますか?
#!/usr/local/bin/perl
## THIS WORKS
my $content;
my $filename = "testfile.txt";
my $fh="FILEIN";
open(my $fh, '<', $filename) or die "cannot open file $filename";
{
local $/;
$content = <$fh>;
}
close($fh);
my $price;
($price)=$content=~m{is\s\$([0-9]{1,2}\.[0-9]{2})\stoday};
print "Result is $price\n"; #Correctly produces 2.30
## DOESN'T WORK
$content2="BLAH BLAH BLAH BLAH BLAH The dollar amount is $2.30 today BLAH BLAH BLAH BLAH BLAH";
my $price2;
($price2)=$content2=~m{is\s\$([0-9]{1,2}\.[0-9]{2})\stoday};
print "Result is $price2\n"; #Doesn't work
注: (明確化)。割り当て例から 2.30 を抽出するにはどうすればよいですか? 私の現実世界のアプリケーションでは、それが私が困惑しているところです。それを抽出する方法を知っている人はいますか?
JW