文字列を分割しようとしています"."
が、配列には何もありません。ファイル名は"Head-First-Java-2nd-edition.pdf"
分割後拡張子を抽出したいのですが、なぜ空の配列になっているのかわかりません。
my @fileInfo = split(/./, $filename);
&logMsg("Array is: @fileInfo");
ワイルドカードで分割しているため、分割により空のリストが表示されます.
。ピリオドはメタ文字です。リテラルのピリオドで分割する場合は、エスケープする必要があります
my @fileInfo = split(/\./, $filename);
また、サブルーチンを呼び出すための構文はNAME(LIST)
. プレフィックスの使用に&
は、プロトタイプを回避するという点で、特定の隠された機能があります。詳しくはperldoc perlsubを読んでください。
.
正規表現では、 以外の任意の文字を意味します\n
。リテラル.
で分割するには、エスケープする必要があります。
split /\./, $filename;