Goke Aruna wrote: > i want to process the attached file and i want to replace the $data[1] with > equivalent month is strings. > > i have this code but it giving me errors... i only try the january case at > least. > > #!c:/perl/bin/perl > use warnings ; > use strict ; > use POSIX 'strftime'; > > my $file = "c:/Perl/test.csv" ; > > { local ($\, $,) = ("\n", ', ') ; > my $sum ; > open my $fh, '<', $file or die "open '$file': $!" ; > > while (<$fh>) > { > s/\s+$// ; # chomps-and-more > /^$/ and die "$file, line $. is empty\n" ; > my @data = (split /,/)[0, 1, 2, 3, 4, 5, 6] ; > # $data[0] or next ; # skips > # my $cnt_ans = 0; > if($data[1] == 1) > { > while($data[1] == 1) > {$data[1]=~ tr/1/January/;} > } elsif ($data[1] == 2){ > replace all occurence of 2 with February > } elsif ($data[1] == 3){ > replace all occurence of 3 with March > } elsif ($data[1] == 5){ > replace all occurence of 5 with May > } elsif ($data[1] == 6){ > replace all occurence of 6 with June > } elsif ($data[1] == 7){ > replace all occurence of 7 with July > } elsif ($data[1] == 8){ > replace all occurence of 8 with August > } elsif ($data[1] == 9){ > replace all occurence of 9 with September > } elsif ($data[1] == 10){ > replace all occurence of 10 with Octomber > } elsif ($data[1] == 11){ > replace all occurence of 11 with November in the column > } elsif ($data[1] == 12){ > replace all occurence of 12 with December > } > }
#!c:/perl/bin/perl use warnings ; use strict ; my $file = 'c:/Perl/test.csv' ; { local ( $\, $, ) = ( "\n", ', ' ) ; my %conversion = qw( January 1 February 2 March 3 April 4 May 5 June 6 July 7 August 8 September 9 October 10 November 11 December 12 ); open my $fh, '<', $file or die "open '$file': $!" ; while ( <$fh> ) { s/(?<=^\d{8},)(\d+)(?=,)/exists $conversion{$1} ? $conversion{$1} : $1/e; print; } } John -- Perl isn't a toolbox, but a small machine shop where you can special-order certain sorts of tools at low cost and in short order. -- Larry Wall -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>