Read a Delimited File

How can you read a row in delimited file and get each field value into a separate variable?

#!/usr/bin/bash
 
IFS=":"
while read f1 f2 f3; do
  echo "$f1-$f2-$f3"
done < delim.txt

Using the following input file as a sample:

field1:field2:field3
field1a:field2a:field3a

Sample run:

$ ./delim.sh
field1-field2-field3
field1a-field2a-field3a