一个模式匹配的问题

一个模式匹配的问题

正在学模式匹配,写了一个程序,用来抓网页上的价格,比如

网页里面有一句   class="pricing_retail_nodiscount_price">$399</span>

我用
my $price = ~/class="pricing_retail_nodiscount_price">$(\d+)</;

为啥匹配不出来呢那个399呢?

谢谢
my $price = ~/class="pricing_retail_nodiscount_price">\$([\d]+)</
多谢多谢

可能我程序写的有问题,改了以后还是不对

我详细把程序列一下,大牛不要笑话。。。

use Encode;
use LWP::Simple qw(get);
use strict;


my $input = "http://configure.us.dell.com/dellstore/config.aspx?

oc=bqcwi1s&c=us&l=en&s=bsd&cs=04&kc=productdetails~vostronb_1000";

      my $address = $input;
      my $price = get $address;    #这里$price里面包含class="pricing_retail_nodiscount_price">$399</span>这串字符,不过前面后面还有很多html语句

     $price = ~/class="pricing_retail_nodiscount_price">$([\d]+)</;

     print "$price";
你没看清楚我写的表达式么?$要\$
真不好意思,没看清。。。

我换了以后,结果是4294967295,好像没匹配上。应该是我程序里面的错了,我不是狠明白怎么把一个变量中的数字匹配以后,赋值给另一个变量

问题太低级,谢谢啊
$price =~ m/class="pricing_retail_nodiscount_price">$([\d]+)</;

print $1;

这样试试
没有任何输出。。。
print $1 if $price =~ m/class="pricing_retail_nodiscount_price">\$([\d]+)</;
#!/usr/bin/perl -w

use Encode;
use LWP::Simple qw(get);
use strict;


my $input = "http://configure.us.dell.com/dellstore/config.aspx?oc=bqcwi1s&c=us&l=en&s=bsd&cs=04&kc=productdetails~vostronb_1000";

my $address = $input;
my $price = get $address;

if ($price =~ m{class="pricing_retail_nodiscount_price">\$(\d+)<}) {
        print "$1\n";
}



可以啊!


QUOTE:
原帖由 cai120120 于 2008-7-12 14:17 发表
#!/usr/bin/perl -w

use Encode;
use LWP::Simple qw(get);
use strict;


my $input = "http://configure.us.dell.com/dellstore/config.aspx?oc=bqcwi1s&c=us&l=en&s=bsd&cs=04&kc=productdetails~vo ...

程序应该输出399,请问你那里能得到这个数字么

谢谢