Отличное решение! Включено в мою библиотеку вспомогательных функций, теперь это выглядит так:
Object.isDate = function(obj) {
/// <summary>
/// Determines if the passed object is an instance of Date.
/// </summary>
/// <param name="obj">The object to test.</param>
return Object.prototype.toString.call(obj) === '[object Date]';
}
Object.isValidDate = function(obj) {
/// <summary>
/// Determines if the passed object is a Date object, containing an actual date.
/// </summary>
/// <param name="obj">The object to test.</param>
return Object.isDate(obj) && !isNaN(obj.getTime());
}
use File::Path qw(make_path);
make_path("path/to/sub/directory");
Устаревший mkpath и предпочтительный make_path возник в результате обсуждения в потоке Perl 5 Porters, который заархивирован здесь .
В двух словах, тестирование Perl 5.10 обнаружило неудобства в парсинг аргументов интерфейса makepath (). Поэтому его заменили более простой версией, в которой хэш был последним аргументом для установки параметров функции.
Используйте mkpath из модуля File :: Path:
use File::Path qw(mkpath);
mkpath("path/to/sub/directory");