-- Uses a declare block to input and dynamically allocate a string
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
procedure dec_blk_str_in is
begin
-- Declare and initialize
declare
s: String := get_line;
begin
put_line(s);
put_line(s'length'img);
end;
end dec_blk_str_in;
-- Input:
--| Hi mom
--| 6