in reply to Elegant way to parse an optional prefix with default?

This one seems to work. It doesn't modify $name:

for $name (qw/$foo @foo %foo &foo <foo> *foo foo/ ) { my $sigil= ($name =~ /^([\$\@%&<*])/) ? $1 : "&"; print "$name = $sigil\n"; } $foo = $ @foo = @ %foo = % &foo = & <foo> = < *foo = * foo = &