> For the complete documentation index, see [llms.txt](https://oguzhaninan.gitbook.io/varnish-cache/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oguzhaninan.gitbook.io/varnish-cache/varnish-yapilandirma-dili-vcl/vcl-sintaks/operatoerler.md).

# Operatörler

VCL, değerleri atamak, karşılaştırmak ve eşleştirmek için kullanabileceğiniz operatörlere sahiptir. Bazı operatörleri bir araya getirdiğimiz bir örnek:

{% code title="default.vcl" %}

```c
sub vcl_recv {
  if(req.method == "PURGE" || req.method == "BAN") {
    return(purge);
  }
  if(req.method != "GET" && req.method != "HEAD") {
      return(pass);
  }
  if(req.url ~ "^/products/[0-9]+/"){
      set req.http.x-type = "product";
  }
}
```

{% endcode %}

* Değişkenlere veya nesnelere değer atamak için atama operatörünü (**=**) kullanırız.
* Değerleri karşılaştırmak için karşılaştırma operatörünü (**==**) kullanıyoruz.
* Normal ifade eşleştirmesi yapmak için eşleme operatörünü (**\~**) kullanıyoruz. Değer normal ifadeyle eşleşiyorsa **true** döndürülür; Aksi takdirde, **yanlış** döndürülür.
* Negatif operatörü (**!**) Ters mantıksal durumu döndürür.
* Her iki işlenen de **true** dönerse, (**&&**) operatörü **true** değerini döndürür; aksi takdirde, **false** döndürülür.

Daha ayrıntılı bilgi için [resmi dökümanı](https://varnish-cache.org/docs/4.1/reference/vcl.html#operators) inceleyebilirsiniz.
