Como remover "." de un nombre de archivo en Perl?

Como remover "." de un nombre de archivo en Perl?

Lo hago /(\.[^.]+)$/en Perl para leer la extensión de un archivo, por ejemplo Text.txt. ¿Cómo puedo eliminarlo .para que la salida sea Texttxt?

Respuesta1

El grupo de coincidencias /(…)/contiene cualquier cosa.adentrolos paréntesis. Si no quieres que el punto forme parte, ponloafuera los paréntesis: /\.([^.]+)$/.

#!/usr/bin/env perl

use strict;
use warnings;

my $filename = 'Test.txt';
$filename =~ s/(.*)\.([^.]+)$/$1$2/;
#               ^^    ^^^^^
#               $1     $2
print "filename: '$filename'\n";

# prints "Testtxt"

información relacionada