Hi Vishnu,

On Sat, 17 Dec 2011 08:22:31 +0000
<vishnu.kuma...@wipro.com> wrote:

> Hi,
> 
> I am trying to convert the string abc.def.ghi.amm to abcdefghiamm using split 
> and concatenation. I am missing something somewhere.. please help me to fix 
> the code
> 
> my $string = "abc.def.ghi.amm";
> 
> my @d = split(/\./,"$string");

No need for double-quotes around the string:

        my @d = split(/\./, $string);

> my $e = @d;
> for (my $i=0; $i < $e; $i++) {

This is better written as «for my $i (0 .. $#d)».

>     print("Value of array element $i is $d[$i]\n"); }
> 
> #concatenation
> for (my $i=0; $i < $e; $i++) {
>       my $abc .= "$d[$i]";
> }
> 
> print("Value after concatenation is $abc\n");
> 

1. You should declare $abc outside the loop and concatenate to it.

2. No need for double quotes around $d[$i].

3. You can just use http://perldoc.perl.org/functions/join.html .

So your program becomes:

        my $abc = join('', split(/\./, $string);

In this case it can also be written using:

        my $abc = $string;
        $abc =~ s/\.//g;

Or:

        my $abc = $string;
        $abc =~ tr/.//d;

Regards,

        Shlomi Fish

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
"Star Trek: We, the Living Dead" - http://shlom.in/st-wtld

The number of items on an open source project’s to‐do list always grows or
remains constant.

Please reply to list if it's a mailing list post - http://shlom.in/reply .

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to