in reply to Report Format Help!

Do you mean not show the html tags when displaying $page on the command line--i.e. just the text between the tags?

Replies are listed 'Best First'.
Re^2: Report Format Help!
by 7stud (Deacon) on Feb 04, 2011 at 21:53 UTC

    ...if so, you can use the s/// operator:

    my $page = "<div>hello world</div>\n"; my $x = 'goodbye'; $page .= <<"MORE_HTML"; <div>$x</div> MORE_HTML print "$page\n"; $page =~ s/<.*?>//g; print $page; --output:-- <div>hello world</div> <div>goodbye</div> hello world goodbye

    That should be HEREDOC above--not HERDOC.

      The code in reference has two ways of showing this whatever information, one from the command line and another formating HTML code that will be emailed if you run the code from terminal/command line. But if you run this code from the command line the HTML code will shows and it will be html tags everywhere. And seeing the code for the command line will be difficult to cause of that. All I would like is to hide the HTML if I am running this code from the command line so the HTML code doesn't interfere with command line stuff.

        You could add --test or -t when running on the command line like this

        #!/usr/bin/perl -w use strict; use CGI qw(-oldstyle_urls :standard); use CGI::Carp qw(fatalsToBrowser); use Date::Calc qw( Add_Delta_Days Decode_Date_US Today ); # no html option use Getopt::Long; my $test = 0; GetOptions('test'=> \$test); # yesterday's date my @today = ($ARGV[0]) ? Decode_Date_US( $ARGV[0] ) : Today() ; my @yesterday = Add_Delta_Days( @today, -1 ); my $t_string = sprintf "%04d-%02d-%02d", @today; my $y_string = sprintf "%04d-%02d-%02d", @yesterday; # create page my $q = new CGI; my $page = "\n\n"; # switch ouput format if test option if ($test){ my $line = '-' x 80; $page .= sprintf " %-16s %-22s\n", "TODAY", "YESTERDAY"; $page .= ' '.$line."\n ----------$t_string - $y_string-----------\n +"; } else { $page = qq!<table width="100%" border="0" bgcolor="#ffffff" cellpadd +ing="0" cellspacing="0"> <tr> <td width="60%">Date Format Sample:</td> <td width="40%" align="left"><b>$y_string</b></td> </tr> <tr> <td width="100%" colspan="2">&nbsp;</td> </tr> </table>!; } print $page;
        poj

        Hi,

        None of your posts make any sense. You need to find another way to communicate what you want. Maybe try less explaining and more demonstrating, i.e. when I do this, I want this output; and when I do that I want that output?