我想使用perl创建文件夹,在同一文件夹中,存在perl脚本.我创建了FolderCreator.pl,它需要文件夹名称的输入参数.
unless(chdir($ARGV[0]){ # If the dir available change current,unless mkdir($ARGV[0],0700); # Create a directory chdir($ARGV[0]) or die "can't chdir $ARGV[0]\n"; # Then change or stop }
只有当我们在它所在的同一文件夹中调用scipt时,这才能正常工作.如果在另一个文件夹中调用它,如果不起作用.
例如.
.../Scripts/ScriptContainFolder> perl FolderCreator.pl New .../Scripts> perl ./ScriptContainFolder/FolderCreator.pl New
第一个工作正常但第二个工作没有.有没有办法创建这些文件夹?
解决方法
您可以使用
FindBin模块,它为我们提供$Bin变量.它找到脚本bin目录的完整路径,以允许使用相对于bin目录的路径.
use FindBin qw($Bin); my $folder = "$Bin/$ARGV[0]"; mkdir($folder,0700) unless(-d $folder ); chdir($folder) or die "can't chdir $folder\n";