use strict; open( IN, "file.txt" ) or die "file.txt: $!"; open( OUT, "out.txt" ) or die "out.txt: $!"; # or: open( my $in, "file.txt") ... while () { # or: while (<$in> ...) $_ = join "", map { sprintf("%2.2x",ord($_)) } split //; print OUT $_, $/; } #### my $outstr = ""; $outstr .= sprintf("%2.2x",ord($_)) for (split //); print $outstr, $/;