$N = $ARGV[0]; $n = $N =~ /^[AEIOU]/ ? $N : substr( $N, 1 ); foreach (qw( b f m )) { push( @a, ( $N =~ /^[$_]/i ? '' : $_ ) ) } $n = lc( $n =~ /^[BFM]/ ? substr( $n, 1 ) : $n ); printf( "%s, %s, bo-%s%s, Banana-fana fo-%s%s, Fee-fi-mo-%s%s, %s!\n", ( $N, $N, $a[0], $n, $a[1], $n, $a[2], $n, $N ) );