From: Tristan Knowles Date: 2005-07-15T00:03:14+09:00 Subject: Help: very simple script problem Hi, After reading up on Ruby I thought it sounded good and decided to learn it so I can manipulate my files on my linux server such as log, csv, conf etc. Anyway, i'm a beginner when it comes to programming, so bear with me. I use the Asterisk PBX and came across this script here which reads a csv file and puts each record into an html table: http://rubyforge.org/snippet/detail.php?type=snippet&id=76 Anyway, I thought I would then apply this basic concept to a log file, but I cannot get it to display through a web browser. Here is my script: =========== #!/usr/bin/ruby My_Title = "Testing Log Read" Log_File = "/var/log/apache2/error.log" require 'cgi' cgi = CGI.new printf cgi.header("Content-type" => "text/html\n\n") printf "\n\n" printf "#{My_Title}\n" printf "\n\n" printf "\n\n" if File.exists? Log_File lines = File.open(Log_File).readlines lines.each_with_index do |line, index| printf " \n ", index % 2 == 0 ? ' bgcolor="#dddddd"' : ' bgcolor="#cccccc"', index + 1 entries = line.chop.split(/\n/) entries.each_with_index do |field, index| printf "", entries end printf "\n\n" end else printf "No File Found\n" end printf "\n" =========== If I comment out all the printf commands related to web and cgi, and run it through the shell, it seems to be taking each line and putting it into
Call records
%d%s
brackets, but I can't get it to display through a browser, it stops at the third printf command. I have tried heaps of different things, but feel like i'm running around in circles now. Any advise with this one? Cheers. Tristan ___________________________________________________________ Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with voicemail http://uk.messenger.yahoo.com