Switch not executing some cases

Thank you so much david_2018 and gcjr!

The working version:

// Use SI!

// Device: t
#include "OneWire.h"
#include "DallasTemperature.h"
#define T 5
OneWire w1(T);
DallasTemperature sensors(&w1);
// end device

// Device: l
// LED_BUILTIN, pin 13
// end device

void setup() {
  Serial.begin(115200);
  sensors.begin();
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  if (Serial.available()) {
    char cmd = Serial.read();
    switch (cmd) {
      case 't':
        {
          sensors.requestTemperatures();
          float t = sensors.getTempCByIndex(0);
          Serial.print("t:");
          Serial.println(t);
        }
        break;
      case 'l':
        if (Serial.available()) {
          char arg = Serial.read();
          switch (arg) {
            case '0':
              digitalWrite(LED_BUILTIN, LOW);
              break;
            case '1':
              digitalWrite(LED_BUILTIN, HIGH);
              break;
          }
        }
        break;
      default:
        Serial.print("Available commands:_");
        Serial.print("\tt  -> read temperature;_");
        Serial.print("\tl0 -> turn built-in led off;_");
        Serial.print("\tl1 -> turn built-in led on;_");
        Serial.println();
        break;
    }
  }
  delay(1000);
}