Yaml load error (when using cgi)

i've a cgi wanted to make use of yaml and i get this error reported by
Apache2 :

[Tue May 06 12:25:50 2008] [error] mod_ruby: error in ruby
[Tue May 06 12:25:50 2008] [error] mod_ruby:
/opt/local/lib/ruby/1.8/yaml.rb:133:in `load': syntax error on line 3,
col -1: ` manpath: "" (ArgumentError)
[Tue May 06 12:25:50 2008] [error] mod_ruby: search: man
[Tue May 06 12:25:50 2008] [error] mod_ruby: section: ""
[Tue May 06 12:25:50 2008] [error] mod_ruby: : 1
[Tue May 06 12:25:50 2008] [error] mod_ruby:
[Tue May 06 12:25:50 2008] [error] mod_ruby: yaml:
/Users/yt/Sites/man/man_rep/history.yaml
[Tue May 06 12:25:50 2008] [error] mod_ruby: '
[Tue May 06 12:25:50 2008] [error] mod_ruby: from
/opt/local/lib/ruby/1.8/yaml.rb:133:in `load'
[Tue May 06 12:25:50 2008] [error] mod_ruby: from
/Users/yt/Sites/man/index.rbx:30
[Tue May 06 12:25:50 2008] [error] mod_ruby: from
/opt/local/lib/ruby/1.8/apache/ruby-run.rb:53:in `load'
[Tue May 06 12:25:50 2008] [error] mod_ruby: from
/opt/local/lib/ruby/1.8/apache/ruby-run.rb:53:in `handler'

the calling line being :
history=YAML::load( File.open( YAMLFILE ) )

and the yaml file being no more than :
--- history.yaml ------------------------------
--- !ruby/object:History
items:
  !ruby/object:Item ?
    manpath: ""
    search: man
    section: ""
  : 1

yaml: /Users/yt/Sites/man/man_rep/history.yaml
--- history.yaml ------------------------------

I should mention i don't have prob when testing that apart from Apache2
and cgi.

When testing under Apache2/cgi my requirements are :
require 'rubygems'
require 'cgi'
require 'fileutils'
require 'yaml'
require 'history'

When testing standalone:
require 'rubygems'
require 'yaml'
require 'history'

the 'history' script being a class History of mine, nothing to do (i
believe) with the prob.

···

--
Une Bévue

unbewusst.sein@weltanschauung.com.invalid (Une Bévue) writes:

/opt/local/lib/ruby/1.8/yaml.rb:133:in `load': syntax error on line 3,
col -1: ` manpath: "" (ArgumentError)

Can you load the yaml file from outside your CGI script? Are both the
History and Item class loaded into the runtime before you load the
yaml file?

···

--
Peter Jones [pjones at domain below]
pmade inc. - http://pmade.com

Can you load the yaml file from outside your CGI script?

Nope...

Are both the
History and Item class loaded into the runtime before you load the
yaml file?

YES, because of "rubygems"

i've tried :
require 'man_rep/manpage'
require 'rubygems'
require 'cgi'
require 'yaml'

=> that way probs with yaml

require 'rubygems'
require 'yaml'
require 'cgi'
require 'man_rep/manpage'

=> that way probs with rubygems (unable to find man_rep/manpage ...)

but i could try something else, using "computed" absolute path for
'man_rep/manpage'

thanks for your answer !

···

Peter Jones <dev-null@pmade.com> wrote:

--
Une Bévue

unbewusst.sein@weltanschauung.com.invalid (Une Bévue) writes:

Can you load the yaml file from outside your CGI script?

Nope...

I think the core issue is that your YAML file is malformed. How did
you create it?

Load it in IRB and track down the syntax error in the YAML file:

···

,----

>> # load all your libs
>> h = YAML.load_file('filename')

`----

--
Peter Jones [pjones at domain below]
pmade inc. - http://pmade.com

I think the core issue is that your YAML file is malformed. How did
you create it?

to read it :
history_file="man_rep/history.yaml"
history=YAML::load( File.open(history_file))

to write it:
File.open( history_file, "w" ) {|f| f.write( history.to_yaml ) }

history being an Array of Page(s), Page is a simple class of mine.

Load it in IRB and track down the syntax error in the YAML file:

I'll look at however, i don't think it's corrupted because, i've trashed
it regularly...

thanks for the tip !

···

Peter Jones <dev-null@pmade.com> wrote:
--
Une Bévue