Puppet::Parser::Functions::newfunction(:basename, :type => :rvalue,
        :doc => "Returns the last component of the filename given as an
        argument, which must be formed using forward slashes (``/..)
        regardless of the separator used on the local file system.") do |args|
                if args[0].is_a?(Array)
                        args.collect do |a| File.basename(a) end
                else
                        File.basename(args[0])
                end
end