Как удалить «.» из имени файла в Perl?

Как удалить «.» из имени файла в Perl?

Я делаю /(\.[^.]+)$/в Perl, чтобы прочитать расширение файла, например Text.txt. Как мне удалить .так, чтобы вывод был Texttxt?

решение1

Группа соответствия /(…)/содержит все, что угодновнутрискобки. Если вы не хотите, чтобы точка была частью этого, то поставьте ееснаружи скобки: /\.([^.]+)$/.

#!/usr/bin/env perl

use strict;
use warnings;

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

# prints "Testtxt"

Связанный контент