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>