Hi Eric,

if you want a more pretty way, (if a touch slower) try:

my @new_names = @old_names;
foreach (@new_names) { s/\.(jpg|gif)/\.html;i ; }

I personally don't like map as I came to PERL from C, but if you want to
use it instead...

my @new_names = @old_names;
map s/\.(jpg|gif)/\.html/i, @new_names;



R

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] 
Sent: 03 October 2002 06:31
To: Beginners Perl Mailing List
Subject: Using map


Hello, All:

I'm having a difficult time understanding the map function.

I've got an array of file names that all end in 'jpg' or 'gif'. I'd like

to create a parallel array of file names that end in 'html'. I'm
creating 
the array this way...

@new_names = map { ($x = $_) =~ s/(jpg|gif)$/html/i; $x } @old_names;

Is there a more elegant way to accomplish this? It just doesn't seem 
elegant assigning $_ to $x, performing the substitution on $x, and then 
returning $x.

-- 
Eric P.
Sunnyvale, CA


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to