http://qs1969.pair.com?node_id=553880


in reply to Reading a File by Line then Analyzing each Line

I suggest using a hash instead of plain variables:
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %questions; my $cur; while (<DATA>) { $cur = $1 if /^\d+\.\s*(.*)$/; $questions{$cur}->{selected} = $1 if $cur and /^[A-Z]+\.\s*(.*)\s+ +\*$/; s/\s*\*\s*$//; push @{$questions{$cur}->{answers}}, $1 if $cur and /^[A-Z]+\.\s*( +.*)\s*$/; } print Dumper \%questions; __DATA__ 1. What is my name? A. Rooney * B. Gerrard C. Ronaldo D. Ronaldinho 2. Who's your bet in the coming World Cup? A. Brazil * B. Germany C. England D. Cameroon