ok so here is what I did and it is now working. one thing I do not fully understand is the diff between my $svsel = select; select OUT ; $|=1; and select (select(OUT), $| = 1 ) [0] );
the second line works while the first does not and from my understanding I am selecting OUT and never re-selecting the original filehandle? thanks! Here is the working code. ## Set pragmas use strict; use MIME::Lite; ## Set and edit variables my $foreigntapes="/usr/local/log/foreign_tapes.log"; delete $ENV{'IFS'}; local $ENV{'PATH'} = "/usr/epoch/bin:/usr/epoch/EB/bin:/usr/bin:/usr/sbin:/bin:/sbin"; #print $ENV{'PATH'},"\n"; ## Traverse through array and play with data open (OUT, ">$foreigntapes") || die "could not open file:$!"; my @ftapes = grep s/^barcode=//, `evmvol -w label_state=3`; select( (select(OUT), $|=1 ) [0] ); print OUT "@ftapes"; if ( -s OUT ) { my $msg = MIME::Lite->new( From => 'EDM01 <[EMAIL PROTECTED]>', To => 'Derek Smith <[EMAIL PROTECTED]>', Subject => "Foreign Tapes Found, now attmepting to label", Data => "@ftapes" ); $msg->send; foreach (@ftapes) { print $_; #`evmlabel -l st_9840_acs_0 -t 9840S -b$_` } } else { my $foo="/tmp/ftapes_runfile"; open (RUNFILE, ">$foo") || die "could not open runfile: $!;" } close (RUNFILE); Derek B. Smith OhioHealth IT UNIX / TSM / EDM Teams 614-566-4145 "Wiggins d Anconia" <[EMAIL PROTECTED]> 06/08/2004 11:06 AM To: [EMAIL PROTECTED], [EMAIL PROTECTED] cc: Subject: RE: if -s clause Please bottom post.... > > ok I can take some blame! : ) I made some changes and I am still not > getting the print message. > You made *some* changes, but you still haven't listened to what Bob and I have said, and made the changes we have pointed out specifically. That is becoming tedious. I would suggest going back through the e-mails and re-reading every single statement made and see why your script still does not match what we have suggested. http://www.catb.org/~esr/faqs/smart-questions.html http://danconia.org > > ## Set pragmas > > use strict; > > my $foreigntapes="/usr/local/log/foreign_tapes.log"; > delete $ENV{'IFS'}; > local $ENV{'PATH'} = > "/usr/epoch/bin:/usr/epoch/EB/bin:/usr/bin:/usr/sbin:/bin:/sbin"; > > open (OUT, ">$foreigntapes") || die "could not open file:$!"; > my @ftapes = grep s/^barcode=//, `evmvol -w label_state=1`; > my $svsel = select; select OUT; $| = 1; > print OUT "@ftapes"; > if ( -s OUT ) { > print "file is greater than 0 bytes \n"; > } > >