An interesting note regarding if/2 and unless/2 is that they are implemented as macros in the language; they aren't special language constructs as they would be in many langua...
port = Port.open({:spawn, "openssl genrsa 2048"}, [:binary, :exit_status]) private_key_str = receive do {^port, {:data, data}} -> dat...