substituion

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • jared in ecs

    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.
  • Gunnar Hjalmarsson

    #2
    Re: substituion

    jared in ecs wrote:[color=blue]
    > i'm trying to find the price in a page source and my substition
    > seems not to work?[/color]

    If you are trying to _find_ something, why are you trying to _substitute_?
    [color=blue]
    > $dump =~ s/.+?Price:\s+\$([0-9][0-9].[0-9][0-9]).+/$1/s;[/color]

    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

    Comment

    • Jim Gibson

      #3
      Re: substituion

      In article <9858258e.03102 31300.589416cd@ posting.google. com>, jared in
      ecs <jared_zubke@un d.nodak.edu> wrote:
      [color=blue]
      > 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.[/color]

      "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.

      Comment

      • Eric J. Roode

        #4
        Re: substituion

        -----BEGIN PGP SIGNED MESSAGE-----
        Hash: SHA1

        jared_zubke@und .nodak.edu (jared in ecs) wrote in
        news:9858258e.0 310231300.58941 6cd@posting.goo gle.com:
        [color=blue]
        > 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.[/color]

        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/AwUBP5ku3GPeouI eTNHoEQJmfgCfZH l6dHOE5eg4/mUHOySB8ElIVOkA oIEi
        4GylIMM+2M8B7We 8jWQ0y75R
        =6Tpo
        -----END PGP SIGNATURE-----

        Comment

        Working...