Re: bold print to a FH
- From: DBSMITH@xxxxxxxxxxxxxx
- Date: Thu, 26 May 2005 17:37:14 -0400
the code
print MU color 'bold', "BLAH BLAH BLAH \n";
is not working with error:
Uncaught exception from user code:
Invalid attribute name media at disk_cache-tape_slot-usage.pl line
45
Carp::croak('Invalid attribute name media') called at
/usr/perl5/5.6.1/lib/Term/ANSIColor.pm line 119
Term::ANSIColor::color('bold', 'Media Usage Key for all ASM
clients:', ' ', '17:35 05/26/05^J') called at
disk_cache-tape_slot-usage.pl line 45
main::mediausage() called at disk_cache-tape_slot-usage.pl line
Jay Savage
<daggerquill@gmai
l.com> To
"DBSMITH@xxxxxxxxxxxxxx"
05/26/2005 05:03 <DBSMITH@xxxxxxxxxxxxxx>
PM cc
beginners@xxxxxxxx
Subject
Please respond to Re: bold print to a FH
Jay Savage
<daggerquill@gmai
l.com>
On 5/26/05, DBSMITH@xxxxxxxxxxxxxx <DBSMITH@xxxxxxxxxxxxxx> wrote:
> All,
>
> I want to have bold print of a Title but it is not working. Here is my
> code:
>
> require 5.6.1;
>
> use strict;
> use warnings;
> use diagnostics;
> use MIME::Lite;
> use Term::ANSIColor;
> use Logfile::Rotate;
> $^T=time;
> our $now = time();
> our $tapes = qq(/var/tmp/volrpt.log);
> our $mt = (stat("$tapes"))[9];
> our $tsl = qq(/var/tmp/tapefile_status.log);
> our $media = qq(/usr/local/log/FUJI_HRTLAB_SHLTH_tapes.xls);
> $ENV{"PATH"} = qq(/opt/SUNWsamfs/sbin:/usr/bin:/usr/sbin:/usr/local/log);
>
>
>
> ###--### Begin Routines ###--###
>
>
> sub mediausage
> {
> open (TPC,"/usr/local/bin/ohiohealth/tpcount.pl | " ) or
> die "unable to fork tpcount.pl $!";
> open (MU, ">>$media") or die "unable to open file: $media
> $!";
> print color 'bold'; print MU "Media Usage Key for all ASM
> clients:", " ", dateme();
>
> while (<TPC>) {
>
> print MU $_, "\n";
> }
> }
>
> __END_CODE__
>
> When I view the file my header "Media Usage Key for all ASM clients" it
is
> not in bold, but my screen becomes bold print.
>
> any advise?
> thanks
>
> derek
>
>
>
>
> --
> To unsubscribe, e-mail: beginners-unsubscribe@xxxxxxxx
> For additional commands, e-mail: beginners-help@xxxxxxxx
> <http://learn.perl.org/> <http://learn.perl.org/first-response>
>
>
>
1) Term:ANSIColor is a terminal setting.
There is no such thing as "writing bold to a file". You need to write
data that will be interpreted by whatever you intend to use to view
it. for instance, to output html, you would use `print MU
"<strong>text</strong>";`. To write a file you'll read from a
terminal, you need to print the appropriate escape sequence for the
terminal you're using.
2) You have specified `color 'bold'` for the stdout filehandle, but
not the MU filehandle. You can use `print MU color 'bold'` to cause
the escape sequence (probably \e[1m) to be written to file. Note,
though, that this will not be protable, and printing the escape
sequence to screen on any terminal other than the one intended can
cause unintended results and require you reset the connection.
Embedding escape sequences in files is a bad idea. It's much better
to use some kind of markup, and write a program to parse the markup
and output the correct, site-specific escapes when the data is read,
e.g., `print color 'bold' if =~ /<bold>;`
Also, don't forget to turn `color` off, or your screen will remain
bold, even after the program exits.
HTH,
-- jay
--------------------
daggerquill [at] gmail [dot] com
http://www.engatiki.org
.
- Follow-Ups:
- Re: bold print to a FH
- From: Jeff 'japhy' Pinyan
- Re: bold print to a FH
- From: Jay Savage
- Re: bold print to a FH
- References:
- Re: bold print to a FH
- From: Jay Savage
- Re: bold print to a FH
- Prev by Date: Re: bold print to a FH
- Next by Date: Re: bold print to a FH
- Previous by thread: Re: bold print to a FH
- Next by thread: Re: bold print to a FH
- Index(es):
Relevant Pages
|