#!/usr/bin/perl -w

# morse        [SSD. Santiago, Febreiro de 2000]
# Petit script que converteix les cadenes introduïdes per
# stdin en codi morse.

# Traduït i adaptat per l'Antoni Bella, 2002

# Subrutina que genera les conversions
sub genmorse {
  my $char = $_[0];
  if( $char eq 'a' ) { print ".- "; }
  elsif( $char eq 'b' ) { print "-... "; }
  elsif( $char eq 'c' ) { print "-.-. "; }
  elsif( $char eq 'd' ) { print "-.. "; }
  elsif( $char eq 'e' ) { print ". "; }
  elsif( $char eq 'f' ) { print "..-. "; }
  elsif( $char eq 'g' ) { print "--. "; }
  elsif( $char eq 'h' ) { print ".... "; }
  elsif( $char eq 'i' ) { print ".. "; }
  elsif( $char eq 'j' ) { print ".--- "; }
  elsif( $char eq 'k' ) { print "-.- "; }
  elsif( $char eq 'l' ) { print ".-.. "; }
  elsif( $char eq 'm' ) { print "-- "; }
  elsif( $char eq 'n' ) { print "-. "; }
  elsif( $char eq 'o' ) { print "--- "; }
  elsif( $char eq 'p' ) { print ".--. "; }
  elsif( $char eq 'q' ) { print "--.- "; }
  elsif( $char eq 'r' ) { print ".-. "; }
  elsif( $char eq 's' ) { print "... "; }
  elsif( $char eq 't' ) { print "- "; }
  elsif( $char eq 'u' ) { print ".-- "; }
  elsif( $char eq 'v' ) { print "...- "; }
  elsif( $char eq 'w' ) { print ".-- "; }
  elsif( $char eq 'x' ) { print "-..- "; }
  elsif( $char eq 'y' ) { print "-.-- "; }
  elsif( $char eq 'z' ) { print "--.. "; }
  elsif( $char eq '1' ) { print ".---- "; }
  elsif( $char eq '2' ) { print "..--- "; }
  elsif( $char eq '3' ) { print "...-- "; }
  elsif( $char eq '4' ) { print "....- "; }
  elsif( $char eq '5' ) { print "..... "; }
  elsif( $char eq '6' ) { print "-.... "; }
  elsif( $char eq '7' ) { print "--... "; }
  elsif( $char eq '8' ) { print "---.. "; }
  elsif( $char eq '9' ) { print "----. "; }
  elsif( $char eq '0' ) { print "----- "; }
  elsif( $char eq '.' ) { print ".-.-.- "; }
  elsif( $char eq ',' ) { print "--..-- "; }
  elsif( $char eq '?' ) { print "..--.. "; }
  elsif( $char eq ':' ) { print "---... "; }
  elsif( $char eq ';' ) { print "-.-.-. "; }
  else { print "\n"; }
}

while( <STDIN> ) {
  my $lon;
  my $char;

  $lon = length( $_ );

  # Elimina els caracters accentuats gràficament i transforma les
  # majúcules en minúscules
  tr/[A-ZÁÀÉËÈÍÏÌÓÖÒÚÜÙáàéëèíïìóöòúüùÑñ]/[a-zaaeeeiiiooouuuaaeeeiiiooouuunn]/;
  for( $i=0; $i<$lon; $i++ ) {
    # Agafa les caràcters un a un i els va convertint.
    $char = substr( $_, $i, 1 );
    &genmorse( $char );
    }
  }

