Jason Balicki <mailto:[EMAIL PROTECTED]> wrote:
: in the file, I want to convert it to: : : DTSTART:20050616T070000Z : : But with my code below this line prints as: : : T070000Z20050616 : : overwriting instead of appending the time value. Not when I tried it. It was appended. I did need to correct a typo, but this line doesn't do what you want. : my $ownerline = join "", $_, ",*\n"/; my $ownerline = join "", $_, ",*\n"; : foreach my $argnum (0 .. $#ARGV){ : my $inputfile = $ARGV[$argnum]; : open FILE, '<', $inputfile or die "Cannot open $inputfile: : $!"; Why not just loop through file names and avoid the extra variable? foreach my $file ( @ARGV ) { open FILE, '<', $file or die "Cannot open $file: $!"; : : while ( <FILE> ) { : chomp $_; Why chomp it here? You are most likely not going to chomp the line. : if (/DTSTART:/) { : my $startline= $_ . "T070000Z\n"; : print $startline; You're jumping through too many hoops. Print $_ each time. If you find a line which needs appending, chomp it and append it first. while ( <FILE> ) { if ( /DTSTART:/ or /DTEND:/ ) { # Same as "chomp $_;". chomp; # The ".=" operator appends new text to a string. $_ .= "T070000Z\n"; } elsif ( /X-SQ-EVTOWNERS:/ ) { chomp; $_ .= ",*\n"; } # same as "print $_;". print; } -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>