Como remover "." de um nome de arquivo em Perl?

Como remover "." de um nome de arquivo em Perl?

Faço /(\.[^.]+)$/em Perl para ler a extensão de um arquivo, por exemplo Text.txt. Como posso remover .para que a saída seja Texttxt?

Responder1

O grupo de correspondência /(…)/contém qualquer coisadentroos parênteses. Se você não quer que o ponto faça parte dele, coloque-ofora os parênteses: /\.([^.]+)$/.

#!/usr/bin/env perl

use strict;
use warnings;

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

# prints "Testtxt"

informação relacionada