用户输入可以只是一个文件名/文件名,以及文件所在位置的路径。这是用户仅有的2个选项。
use File::Basename qw(dirname basename);
my $input = <STDIN>;
my $file = basename($input);
my $path = dirname($input);
每当用户仅给出文件名时,我都将路径获取为。(DOT-当前目录)。该路径中不存在该文件。对我来说,如果用户不提供路径,则意味着我从特定目录中选择它。
我目前正在使用一种粗略的逻辑来检查$ path的长度,以查看是否给出了路径。
有没有其他方法可以用来告诉我是否提到了路径。任何输入都非常有帮助。
你可以只检查是否有一个/
的$input
。
use File::Basename qw(dirname basename);
my $input = <STDIN>;
my ($file, $path);
if ($input =~ m{/}) {
$file = basename($input);
$path = dirname($input);
} else {
$path = '/foo/bar/';
$file = $input;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句