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 <[EMAIL PROTECTED] l.com> To "[EMAIL PROTECTED]" 05/26/2005 05:03 <[EMAIL PROTECTED]> PM cc beginners@perl.org Subject Please respond to Re: bold print to a FH Jay Savage <[EMAIL PROTECTED] l.com> On 5/26/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > <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 -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>