469,328 Members | 1,261 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,328 developers. It's quick & easy.

substituion

i'm trying to find the price in a page source and my substition seems
not to work?
$dump =~ s/.+?Price:\s+\$([0-9][0-9].[0-9][0-9]).+/$1/s;

does anyone have a suggestion as to why it prints the whole dump file
w/o seeming to substitute the price in.
Jul 19 '05 #1
3 1579
jared in ecs wrote:
i'm trying to find the price in a page source and my substition
seems not to work?
If you are trying to _find_ something, why are you trying to _substitute_?
$dump =~ s/.+?Price:\s+\$([0-9][0-9].[0-9][0-9]).+/$1/s;


You haven't told us what $dump contains, but I imagine that it may
result in everything but the price being stripped from $dump under
certain conditions.

This is another approach:

my ($price) = $dump =~ /Price:\s+\$(\d+\.\d+)/;

--
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl

Jul 19 '05 #2
In article <98**************************@posting.google.com >, jared in
ecs <ja*********@und.nodak.edu> wrote:
i'm trying to find the price in a page source and my substition seems
not to work?
$dump =~ s/.+?Price:\s+\$([0-9][0-9].[0-9][0-9]).+/$1/s;

does anyone have a suggestion as to why it prints the whole dump file
w/o seeming to substitute the price in.


"seems no to work" is a little vague. What is in $dump before the
substitution operator is applied? My guess is that your pattern is in
fact not matching, and no substitution is done, leaving the original
string in $dump. Perhaps your page doesn't have a space between
"Price:" and the price. If so, use 'Price:\s*$', etc. instead.

Try posting a complete (brief) program for better answers.

BTW, this newsgroup is defunct. Try comp.lang.misc.perl in the future.
Jul 19 '05 #3
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

ja*********@und.nodak.edu (jared in ecs) wrote in
news:98**************************@posting.google.c om:
i'm trying to find the price in a page source and my substition seems
not to work?
$dump =~ s/.+?Price:\s+\$([0-9][0-9].[0-9][0-9]).+/$1/s;

does anyone have a suggestion as to why it prints the whole dump file
w/o seeming to substitute the price in.


The above expression cannot print anything at all -- the s/// operator
doesn't print. What do you mean by "it prints"? Some other part of your
script is printing, that's what. Do you expect people here to be psychic?
What is in $dump before the above statement? We don't know your data.

In the future, please post questions to comp.lang.perl.misc; that's the
newsgroup for general perl questions. Comp.lang.perl is a defunct
newsgroup.

- --
Eric
$_ = reverse sort $ /. r , qw p ekca lre uJ reh
ts p , map $ _. $ " , qw e p h tona e and print

-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 7.0.3 for non-commercial use <http://www.pgp.com>

iQA/AwUBP5ku3GPeouIeTNHoEQJmfgCfZHl6dHOE5eg4/mUHOySB8ElIVOkAoIEi
4GylIMM+2M8B7We8jWQ0y75R
=6Tpo
-----END PGP SIGNATURE-----
Jul 19 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by Bart Nessux | last post: by
3 posts views Thread by Ondrej Krajicek | last post: by
4 posts views Thread by Erik Johnson | last post: by
4 posts views Thread by Damjan | last post: by
reply views Thread by David M. Aldridge | last post: by
2 posts views Thread by Horacius ReX | last post: by
reply views Thread by suresh191 | last post: by
reply views Thread by Purva khokhar | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.