TCL reading file

This is the code i have to read and display each line every time. please let me know the bug in this.. am not getting the output

 set fp [open "abc.txt" r]
     set file_data [read $fp]
     close $fp
     
     set data [split $file_data ".PGM"]
     foreach line $data {
          puts $data
      
     }

content of abc.txt is
/mvfs/fos-6000/build/swdl/cpp8548/freebsd/A9505026.PGM
/mvfs/fos-6000/build/swdl/cpp8548/freebsd/B9505026.PGM
/mvfs/fos-6000/build/swdl/cpp8548/freebsd/CPP05026.PGM

i want to read each line at a time and put it in a variable. please help

Is it screwing up before or after the split? Can you output file_data to verify that part worked?