perl 如何使用MP3::CreateInlayCard模块

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:14:42
该模块的一个函数create_inlay({$dir,$a})用于将$dir目录中的音乐文件的信息提取出来,具体可以参见http://search.cpan.org/~bigpresh/MP3-CreateInlayCard-0.03/lib/MP3/CreateInlayCard.pm
而我运行下面的perl程序,发现该函数提取的音乐文件为当前目录,而不是$dir中指定的目录,希望达人帮我解答下
#!/usr/local/bin/perl -w
use strict;
use MP3::CreateInlayCard;
print "Please enter the dir:";
chomp (my $dir=<STDIN>);
open(FD,">$dir\\d.html");
print (FD MP3::CreateInlayCard::create_inlay({$dir,$a}));
close(FD);
print "Do you want to view the InlayCard and print?\n";
chomp (my $choose=<STDIN>);
if($choose eq "Y")
{
`$dir\\d.html`;
}
1;

因为你从键盘上输入$dir变量的时候,回车也输入进去了,你看下面的例子:
$dir=<STDIN>;
print "$dir\\d.html";

执行的情况是:
E:\ygb>c:\perl\bin\perl.exe a.pl
c:\windows
c:\windows
\d.html
E:\ygb>

说明程序里面的$dir变量后面包含了回车,应该修改如下:
$dir=<STDIN>;
chomp($dir);
print "$dir\\d.html";

现在的运行结果为:
E:\ygb>c:\perl\bin\perl.exe a.pl
c:\window
c:\window\d.html
E:\ygb>