我的 Perl 脚本试图接受一个命令行参数,该参数是一个文件名,例如 name.txt 或 hello.txt.exe,并基于 . 分隔符,并仅打印扩展名,如 exe 或 txt。这是我目前没有打印任何东西的东西,我不完全确定为什么。
usr/bin/perl -w
use strict;
my ($user_arg) = shift @ARGV;
my ($ext);
if ( ($ext) = $user_arg =~ /(\.[^.].+)$/)
{
print "Ends in ", ($ext) = $user_arg =~ /(\.[^.].+)$/ , "\n";
print "Ends in" , ($ext) = $user_arg =~ /(\.[^.]+)$/, "\n";
}
elsif( ($ext) = $user_arg =~ /(\.[^.]+)$/)
{
print"Ends in " , ($ext), "\n";
}
else
{
print "No Extension";
}
*已更新,现在我的问题是第一个语句将打印两个条件,如果它类似于 name.txt 它将打印 .txt 两次,我希望它只打印 .txt 一次,除非它是我想要的 name.txt.exe它打印 .txt.exe 然后打印 .exe