Here you go.  This is VERY rough, but it should get you headed in the right direction

#################
# search_films.rb
#################
 
 require 'csv'

 
 def load_xvid_file(path_to_csv)
   @names = []
   csv_contents = CSV.read(path_to_csv)
   csv_contents.shift
   csv_contents.each do |row|
     @names << row[0]
   end
   @names.each { |f| f.downcase! }
   #puts @names
 end
 
 def search_for_film
  @tick = 0
   #puts @names
   print "Enter name of film to search for: "
   $film = gets.chomp.downcase
   puts
 
   @names.each do |$check|
	   puts $check , @tick

	   if (/#{$film}(.*)|(.*)#{$film}/i =~ $check)
	     @tick = 1
	     #puts "TEST"
	   end
   end
   if(@tick == 1)
	     puts "#{$film} found!"
   else
	     puts "#{$film} not found :("
   end
   prompt
 end
 
 def prompt
   print "Search again? (y or n) "
   answer = gets.chomp.downcase
 
   case answer
   when /y/
     search_for_film
   when /n/
     puts "Goodbye."
     exit
   else
     prompt
   end
 end

load_xvid_file("movie.csv")
search_for_film




---- Simon Harrison <simon / simonharrison.net> wrote: 
> Hi all. I've written a little script to search a csv file for films. It
> works but has problems. I'd appreciate any pointers with the following:
> 
> 1. I've used instance variables without a class, to make them visible
> amongst methods. Is this acceptable for a short script like this?
> 
> 2. As it is, it will only match exactly. For example, I have The Mummy
> and The Mummy Returns. If I search for 'mummy' program reports "film not
> found." I know I need to use Regexp's, not sure how to implement it here
> though.
> 
> 3. Any other comments gratefully received.
> 
> 
> #################
> # search_films.rb
> #################
> 
> require 'csv'
> 
> def load_xvid_file(path_to_csv)
>   @names = []
>   csv_contents = CSV.read(path_to_csv)
>   csv_contents.shift
>   csv_contents.each do |row|
>     @names << row[0]
>   end
>   @names.each { |f| f.downcase! }
> end
> 
> def search_for_film
>   print "Enter name of film to search for: "
>   film = gets.chomp.downcase
>   puts
> 
>   if @names.include?(film)
>     puts "#{film} found!"
>   else
>     puts "#{film} not found :("
>   end
>   prompt
> end
> 
> def prompt
>   print "Search again? (y or n) "
>   answer = gets.chomp.downcase
> 
>   case answer
>   when /y/
>     search_for_film
>   when /n/
>     puts "Goodbye."
>     exit
>   else
>     prompt
>   end
> end
> 
> load_xvid_file("/home/simon/Documents/CSV/XviD.csv")
> search_for_film
> 
> -- 
> Posted via http://www.ruby-forum.com/.
>