What I understand as of now, is that REST API is something like a call I make to a website and give me the results in the json format, that's all.
Not quite. Firstly, there is no requirement for REST to use JSON although many instances do. Secondly, REST is more specific in that it stipulates the creation, deletion and modification of data items via a structured path. The HTTP methods are respected as are HTTP status codes - REST therefore necessarily builds on HTTP. There is plenty of detailed documentation on the web about what REST is and what it isn't (eg https://en.wikipedia.org/wiki/Representational_state_transfer#Architectural_constraints).
If you could direct me to a good tutorial that teaches REST API using Perl, I will be ever so thankful.
Do you want to build a client or a server?