in reply to Reading contents of file using regex

Sigh - use strict; use warnings;, post a complete sample that demonstrates the problem. As usual, here's a starting point:

use strict; use warnings; while (my $line = <DATA>) { ... } __DATA__ ...

Dodgy stuff in your first post:

$line=; # Just plain wrong! while ($line=~m/([123]?[.s]*[a-z\=.]+)/oi) # Where does $line get a va +lue? $t_book=~s/\l=([a-z]+)\/$1/ig; # The \/ is wrong! $t_book=~s/<(|/)(B|I|SC|U)>//ig; # The |/ is wrong (and why would you +want to capture it?)

DWIM is Perl's answer to Gödel