Date: Tue, 25 Apr 2006 23:05:35 -0400 From: Parv <parv@pair.com> To: Nikolas Britton <nikolas.britton@gmail.com> Cc: FreeBSD Questions <questions@freebsd.org> Subject: Re: Perl: sort string alphabetically, or remove dupe chars? Message-ID: <20060426030535.GA1540@holestein.holy.cow> In-Reply-To: <ef10de9a0604251754r3292719dqc29d96095a9f0752@mail.gmail.com> References: <ef10de9a0604251540p6461bfedgf788d500a81e7190@mail.gmail.com> <ef10de9a0604251754r3292719dqc29d96095a9f0752@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
in message <ef10de9a0604251754r3292719dqc29d96095a9f0752@mail.gmail.com>, wrote Nikolas Britton thusly... > > On 4/25/06, Nikolas Britton <nikolas.britton@gmail.com> wrote: > > basically what I want to do: ... > > my $wordlist = "letter"; > > ## some whizbang regex that removes dupe chars > > ## from words like "alphabetically" --> "alphbeticy". > > print "$wordlist\n"; ... > This works... but it's clunky: > > my $string = "letter"; > my @chars = split("", $string); > $string = ""; @chars = sort (@chars); > foreach (@chars) { > $string .= $_; > } > $string =~ tr///cs; > print "$string"; You could combine some of the steps ... my $string = 'letter'; $string = join '' , sort split '', $string; $string =~ tr///cs; print $string; ... another but rather clunky version is ... my $string = 'letter'; { my %string; @string{ split '' , $string } = (); $string = join '' , sort keys %string; } print $string; - Parv --
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060426030535.GA1540>