#!/usr/bin/perl BEGIN{ $| = 1; open(STDERR, ">&STDOUT"); print "Content-type: text/html\n\n"; } $dir = "./Log"; for($i=0;$i<3;$i++){ open(AAA,">$dir/test$i.txt"); print AAA << "EOT"; 1234567890 97531 751 0 EOT close(AAA); } print << "EOH"; open関数の比較 元のファイルの文字列
1234567890
97531
751
0

それを上下の順を逆にした文字列
0
751
97531
1234567890



元のファイルを読み書き両用で読み込み、その文字列を逆順にして同じファイルに書き直す処理をする。
それぞれの結果
EOH print "

+< で読み込んだ場合\n
\n"; open(BBB, "+<$dir/test0.txt"); seek(BBB,0,0); @strlist = ; @strlist = reverse(@strlist); seek(BBB,0,0); foreach(@strlist){ print BBB "$_"; } close(BBB); open(READ, "<$dir/test0.txt"); print join('
',); print "

\n"; close(READ); print "

+> で読み込んだ場合\n
\n"; open(BBB, "+>$dir/test1.txt"); seek(BBB,0,0); @strlist = ; @strlist = reverse(@strlist); seek(BBB,0,0); foreach(@strlist){ print BBB "$_"; } close(BBB); open(READ, "<$dir/test1.txt"); print join('
',); print "

\n"; close(READ); print "

+>> で読み込んだ場合\n
\n"; open(BBB, "+>>$dir/test2.txt"); seek(BBB,0,0); @strlist = ; @strlist = reverse(@strlist); seek(BBB,0,0); foreach(@strlist){ print BBB "$_"; } close(BBB); open(READ, "<$dir/test2.txt"); print join('
',); print "

\n"; close(READ); print << "EOH"; EOH exit;