Regex: Cómo eliminar espacios extra entre cadenas en Perl

Estoy trabajando en un programa que toma la entrada del usuario para dos nombres de archivo. Desafortunadamente, el programa se puede romper fácilmente si el usuario no sigue el formato especificado de la entrada. Quiero escribir un código que mejore su resistencia contra este tipo de errores. Lo entenderás cuando veas mi código:

# Ask the user for the filename of the qseq file and barcode.txt file
print "Please enter the name of the qseq file and the barcode file separated by a comma:";
# user should enter filenames like this: sample1.qseq, barcode.txt

# remove the newline from the qseq filename
chomp ($filenames = <STDIN>);

# an empty array
my @filenames;

# remove the ',' and put the files into an array separated by spaces; indexes the files
push @filename, join(' ', split(',', $filenames))

# the qseq file
my $qseq_filename = shift @filenames;

# the barcode file.
my barcode = shift @filenames;

Obviamente, este código puede ejecutar errores si el usuario ingresa el tipo de nombre de archivo incorrecto (archivo .tab en lugar de .txt o .seq en lugar de .qseq). Quiero un código que pueda hacer algún tipo de verificación para ver si el usuario ingresa el tipo de archivo apropiado.

Otro error que podría romper el código es si el usuario ingresa demasiados espacios antes de los nombres de archivo. Por ejemplo: sample1.qseq, (imagine 6 espacios aquí) barcode.txt (Observe los numerosos espacios después de la coma)

Otro ejemplo: (imagine 6 espacios aquí) sample1.qseq, barcode.txt (esta vez note el número de espacios antes del primer nombre de archivo)

También quiero líneas de código que puedan eliminar espacios adicionales para que el programa no se rompa. Creo que la entrada del usuario tiene que estar en el siguiente tipo de formato: sample1.qseq, barcode.txt. La entrada del usuario debe estar en este formato para que pueda indexar correctamente los nombres de los archivos en una matriz y cambiarlos más tarde.

Gracias cualquier ayuda o sugerencia son muy apreciadas!

Respuestas a la pregunta(5)

Su respuesta a la pregunta