【发布时间】:2011-08-12 17:18:34
【问题描述】:
我在这里遇到了问题。请查看我的代码。
use warnings;
use strict;
###ASK IMPUT FROM USER
print "Enter the Area: ";
my $area = <>;
print "Enter the Equipment: ";
my $equipment = <>;
print "Enter the Month: ";
my $month = <>;
print "Enter the Year: ";
my $year = <>;
###SUBROUTINE (FUNCTION) TO REMOVE THE WHITESPACE
sub rem_spaces {
my $t = shift || return(0); #Common practice: Use shift to take $t as a first parameter passed to the subroutine
$t =~ s/^\s+//; #remove leading spaces
$t =~ s/\s+$//; #remove trailing spaces
return $t;
}
####VARIABLE DECLARATION
my $REMOTE_HOST = "C:\\Users\\attmsbj1\\Desktop\\pic";
my $RESULT_FOLDER = "C:\\Users\\attmsbj1\\Desktop\\RESULT";
###CREATE FOLDER IF FOLDER DOES NOT EXIST.
if(-e $RESULT_FOLDER){
print "File exists.";
}
else {
mkdir ($RESULT_FOLDER);
}
###OPEN THE NEW FOLDER<br>
opendir (NewFolder, $RESULT_FOLDER) or die "Couldn't open the current directory: $!";
###OPEN PHOTOS FOLDER<br>
opendir (PicFolder, $REMOTE_HOST) or die "Couldn't open the current directory: $!";
@PicFolder =<PicFolder>;
###LOOP THROUGH ALL THE PICTURES IN THE FOLDER
foreach (@PicFolder)
{
if(###FULL STRING INPUT BY USER = PICFOLDER)
{
###MOVE OR COPY THE PICTURE TO THE NEW FOLDER
}
}
closedir PicFolder;
现在的问题是 1) 如何将用户输入的内容打印成 1 个字符串??
例如。面积:4;
设备:TQC
月份:七月
年份 : 2011
我想把它打印到 4TQCJuly2011.jpg
我陷入了困境
感谢您的阅读和帮助。
其他详细信息 我的主要目标是创建一个 perl 脚本来
- 询问用户输入
- 打开照片文件夹
- 将用户输入的名称(将输入组合成*.jpg)与照片文件夹中的图片名称进行比较
- 如果相同,请移动图片或将图片复制到新文件夹中
我希望用户输入的格式为 $area$equipment$month$year.jpg
它总是打印出来
4
TQC
七月
2011
.jpg
而不是 4TQCJULY2011.jpg(我想要这个结果)
【问题讨论】:
-
家庭作业?另外,请正确格式化
-
感谢格式。这是我第一次在这个网站上发帖。
-
串联真的像
my $new_value = "$old_value$another_value"一样简单。 -
要删除前导和尾随空格,最好使用 String::Util 中的 trim(...)
标签: perl