in reply to Re^6: Formatting
in thread Formatting

Add another record:
'#' => { open => '<!-- ', close => ' -->', block => 0 }
The key needs quotes ('#'). Make sure you have a comma after the previous record
Remove:
next if $line_in =~ /^#/; # skip comments
wfsp

Replies are listed 'Best First'.
Re^8: Formatting
by mrxg4 (Initiate) on Jul 13, 2004 at 13:57 UTC
    John,
    Ok, i'll try that again.

    Anyways, the script is like 95% complete, all i have to implement now (which i have partially done) is an alternate $tag, depending on whether there is a special character in every block.

    I have done this with a subroutine:

    sub piper_end() {

    my $tag = { K => { open => '%',
    close => '',
    block => 1,
    block_open => "<c>\n".'<p>',
    block_close => '</p>'."\n<t>"
    },
    R => { open => '<li>',
    close => '</li>'."\n",
    block => 1,
    block_open => '<r>'."\n",
    block_close => '</then>'."\n".'</ifflag>'."\n".'</r>'."\n</t>\n</c>"
    },
    S => { open => '<set name="temant">',
    close => '</set>',
    block => 0
    },
    F => { open => '<setflag param="',
    close => '"/>',
    block => 0,
    }
    };

    return $tag;
    }

    Now if a $style tag matches this special character (I), it will call upon the subroutine to update a specific block_close (for R). Is this method alright?

    Thanks again,
    Marcos
Re^9: Formatting
by mrxg4 (Initiate) on Jul 14, 2004 at 13:58 UTC
    John,
    By the way, I know why the '#' wasn't working, because of the regular expression when spliting:
    my ( $style, $content ) = $line_in =~ /^(\w)\s+(.*)$/;

    I've converted it to:
    my ( $style, $content ) = $line_in =~ /^(\w|\#)\s+(.*)$/;

    And now it works properly :)
    Let me know what you think on the previous question, the one on the subroutine.

    Thanks.
    Best Regards,
    Marcos