All, my goal will look like this:
-w 'barcode="E00085" or barcode="E00086" or barcode="E00096" or barcode="E00184" -w 'barcode="E00293" or barcode="E00351" or barcode="E00524" or barcode="E00584" -w 'barcode="E00587" or barcode="E00588" or barcode="E00589" or barcode="E00654" -w 'barcode="E00876" ' I will have a file that contains anywhere from 1-40 strings, but I would like 4 E strings per line then a \n I started with this code to give me a visual representation: #!/usr/local/bin/perl -w use strict; my @src = 1..8; my $count = 0; while ( my @position = splice( @src, 0, 4) ) { print join( "\t", @position ), "\n"; $count += @position; print "\n"; } which outputs 1 2 3 4 5 6 7 8 so if I have a flat file that looks like: E00085 E00086 E00096 E00184 E00245 how do I get to as the above goal? My orginal code is this: ## Set Pragmas use strict; use MIME::Lite; ## Declare variables, set scaler ^I(rw to same file), init array, create filehandles and p arse data local $ENV{'PATH'} = qq(/usr/epoch/bin:/usr/epoch/EB/bin:/bin:/usr/bin); my @ejectapes = qq(/usr/local/bin/perld/derektapes); ($^I, @ARGV) = ('.bak', @ejectapes); open (FILE, "<@ejectapes") or die "cannot open file: $!\n"; open (FILEOUT, ">/tmp/ejects.out$$") or die "failed to open eject.out: $!\n"; my $ejects = "/tmp/ejects.out$$"; print FILEOUT "eject 0,0,0 "; my $count = `wc -l <@ejectapes`; if ($count <= 40 ) { foreach (<FILE>) { chomp $_; print FILEOUT "$_ "; } close (FILEOUT); print "\n"; print "Number of lines are: $count \n"; #`evmeject -r $_`; #`evmeject -l offsite_0 -b$_`; } else { my $msg = MIME::Lite->new( From => 'EDM01 <[EMAIL PROTECTED]>', To => 'Derek Smith <[EMAIL PROTECTED]>', Subject => "Eject list is greater than 40", Data => "@ejectapes" ); $msg->send; } close (FILE); __ END __ thanks! Derek B. Smith OhioHealth IT UNIX / TSM / EDM Teams