hi,

here is my code
sub showAvman(){ $dbh = DBI->connect ("dbi:Pg:dbname=NPMS"); $res=$dbh->prepare("select \"name\", \"address\", \"type\", \"pollint\", \"protocol\" from \"avman\" order by \"name\""); $res->execute; format STDOUT_TOP= Name IP Address Type Pollint Pr +otocol . format STDOUT= @<<<<<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<<<<<< @ +<<<<<<<<<<<< $row->{name}, $row->{address},$row->{type} ,$row->{pollint},$r +ow->{protocol} . while ($row=$res->fetchrow_hashref()){ Name IP Address Type Pollint Pr +otocol . format STDOUT= @<<<<<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<<<<<< @ +<<<<<<<<<<<< $row->{name}, $row->{address},$row->{type} ,$row->{pollint},$r +ow->{protocol} . while ($row=$res->fetchrow_hashref()){ if ($row->{type} eq "SNMP"){ @_=split(/:/,$row->{protocol}); $row->{protocol} = "Interface $_[1]"; } \"address\", \"type\", \"pollint\", \"protocol\" from \"avman\" order by \"name\""); $res->execute; format STDOUT_TOP= Name IP Address Type Pollint Pr +otocol . format STDOUT= @<<<<<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<<<<<< @ +<<<<<<<<<<<< $row->{name}, $row->{address},$row->{type} ,$row->{pollint},$r +ow->{protocol} . while ($row=$res->fetchrow_hashref()){ if ($row->{type} eq "SNMP"){ @_=split(/:/,$row->{protocol}); $row->{protocol} = "Interface $_[1]"; } write STDOUT; } $res->finish; $dbh->disconnect; } sub showEvents(){ $var=NPMS::getGlobals(); $maxEvent=$var->{maxevent}; $dbh = DBI->connect ("dbi:Pg:dbname=NPMS"); $res=$dbh->prepare("select t.\"status\", to_char(l.\"time\",\'Dy DD Mon YYYY HH12:MI am\') as t +ime, l.\"extra_text\", t.\"desc\", l.\"userid\", l.\"device\", l.\"number\" from \"events\" t, \"event_log\" l where t.\"id\" = l.\"id\" and l.\"ack\" = \'0\' order by \"number\" DESC limit $maxEvent"); if (!defined $res){ die "Cannot prepare statement\n"; } $res->execute; format STDOUT_TOP= STATUS USERID TIME DEVICE DESC . format STDOUT= @<<<<<<<<<<<< @<<<<<<<<<<< @<<<<<<<<<< @<<<<<<<<<< @<<<<<<<<<< +<<<<< $row->{status},$row->{userid},$row->{device},$row->{desc} . while ($row=$res->fetchrow_hashref()){ write STDOUT; # print "......$row->{status}......$row->{userid}......$row->{de +vice}......$row->{desc}\n"; } $res->finish; $dbh->disconnect; }
now i have got two different sub routines each of which is supposed to churn out some data back to the screen and format it too.

but i cant format STDOUT twice in the same perl script.

what is the way out? like i wan ever sub routine to print out formatted output to the screen. but the error i am getting is that STDOUT and STDOUT_TOP is formatted again at lines 168 and 175.

how do i circumvent this problem?

Readmore tags added and Formatting fixed by holli


In reply to formatting STDOUT more than once by bahadur

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.