In computer programming, a fully qualified name is an unambiguous name that specifies which object, function, or variable a call refers to without regard to the context of the call. In a hierarchical structure, a name is fully qualified when it "is complete in the sense that it includes (a) all names in the hierarchic sequence above the given element and (b) the name of the given element itself." Programming Fully qualified names explicitly refer to namespaces that would otherwise be implicit because of the scope of the call. While always done to eliminate ambiguity, this can mean different things dependent on context. Commonly encountered applications of the notion have been given their own names, such as the fully qualified domain name and the fully qualified file name. Examples To distinguish a fully qualified name from a regular name, C++, Tcl, Perl and Ruby use two colons (::), and Java uses dots (.), as does Visual Basic .NET. and C#. In Java, ActionScript, and other object-oriented languages the use of the dot is known as "dot syntax". Other examples include: As an example of a relational database, in Microsoft SQL Server the fully qualified name of an object is the one that specifies all four parts: server_name.[database_name].[schema_name].object_name. In Perl, a fully qualified scalar ($scalar) that is in the package package2 would be referred to as $package2::scalar In Ruby, the fully qualified name of a class is the name of such class with all its parent modules, as Vehicles::Cars::Factory would be the fully qualified name of Factory class within Cars module within Vehicles module. In COBOL, a fully qualified data item name can be created by suffixing a potentially ambiguous identifier with an (or ) phrase. For example, multiple data item records might contain a member item named , so specifying serves to disambiguate a specific data item, specifically, the one that is a member of the parent data item. Multiple clauses may be necessary to fully disambiguate a given identifier, for example, . This syntax is equivalent to the "dotted" notation employed in many object-oriented programming languages, but with the identifiers specified in reverse order. Filenames and paths The term fully qualified file name (or FQFN) means a file on a computer whose exact name is completely specified such that it is unambiguous and cannot be mistaken for any other file on that computer system. It is somewhat equivalent on