Browse files

merge from master for pilot

  • Loading branch information...
2 parents fe57381 + 8c83d60 commit 448dc88920f71ccbe265fc5954f193576e63d471 Kieren Diment committed May 1, 2010
View
82 Survey-Perl/db/survey.sql
@@ -0,0 +1,82 @@
+CREATE TABLE surveys (management_unmaintainable TEXT,
+email TEXT,
+x_comments TEXT,
+x_platform TEXT,
+report TEXT,
+understand TEXT,
+force TEXT,
+run_tests TEXT,
+cpan4 TEXT,
+cpan3 TEXT,
+cpan2 TEXT,
+cpan1 TEXT,
+cpan_important TEXT,
+cert_comments TEXT,
+cert_other TEXT,
+cert_me TEXT,
+words TEXT,
+frustrates TEXT,
+best TEXT,
+apps TEXT,
+embedded TEXT,
+netengs TEXT,
+sysadmins TEXT,
+experienced TEXT,
+early_career TEXT,
+beginner TEXT,
+first TEXT,
+management_scale TEXT,
+mangement_unmaintainable TEXT,
+management_outdated TEXT,
+management_encourages TEXT,
+scale TEXT,
+unmaintainable TEXT,
+startup TEXT,
+eliminate TEXT,
+legacy TEXT,
+cpan_feature TEXT,
+cpan_fix_bug TEXT,
+cpan_bug TEXT,
+feature_interpreter TEXT,
+fix_bug_interpreter TEXT,
+bug_report_interpreter TEXT,
+handover_modules TEXT,
+cpan_modules TEXT,
+conference TEXT,
+pm_meetings TEXT,
+local_pm TEXT,
+tech_list_non_perl TEXT,
+tech_list TEXT,
+pm_list TEXT,
+perl_editors_secondary TEXT,
+perl_editors TEXT,
+perl_freq TEXT,
+lang4 TEXT,
+lang3 TEXT,
+lang2 ,
+lang1 TEXT,
+lang TEXT,
+os_deployment TEXT,
+os_dev TEXT,
+perl_versions TEXT,
+spare_time ,
+percent_perl TEXT,
+percent_management TEXT,
+percent_programming TEXT,
+perl_length TEXT,
+prog_length TEXT,
+industries TEXT,
+income TEXT,
+other_dynamic_taught TEXT,
+other_dynamic_formal TEXT,
+perl_formal TEXT,
+field TEXT,
+highest_qual TEXT,
+country_residence TEXT,
+country_birth TEXT,
+age TEXT,
+gender TEXT,
+sessionid text,
+user_agent text,
+finish_time, integer,
+surveyid INTEGER PRIMARY KEY);
View
6 Survey-Perl/lib/Survey/Perl/Answers/Schema.pm
@@ -8,9 +8,7 @@ use base 'DBIx::Class::Schema';
__PACKAGE__->load_namespaces;
-# Created by DBIx::Class::Schema::Loader v0.04006 @ 2009-09-11 17:06:47
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nbZ7hOUzma87ik9kPCetYw
-
-
+# Created by DBIx::Class::Schema::Loader v0.04006 @ 2010-04-30 21:19:06
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0mkHlVmrp66IomYRnN6xXQ
# You can replace this text with custom content, and it will be preserved on regeneration
1;
View
35 Survey-Perl/lib/Survey/Perl/Answers/Schema/Result/Survey.pm
@@ -545,7 +545,40 @@ __PACKAGE__->add_columns(
is_nullable => "1",
size => 255
},
-
+ "perl_editors",
+ {
+ data_type => "varchar",
+ default_value => "undef",
+ is_nullable => 1,
+ size => 255
+ },
+ "perl_editors_secondary",
+ {
+ data_type => "varchar",
+ default_value => "undef",
+ is_nullable => 1,
+ size => 255
+ },
+ "sessionid",
+ {
+ data_type => "varchar",
+ default_value => "undef",
+ is_nullable => 1,
+ size => 255
+ },
+ "timestamp",
+ {
+ data_type => "timestamp",
+ default_value => "undef",
+ is_nullable => 1,
+ },
+ "user_agent",
+ {
+ data_type => "varchar",
+ default_value => "undef",
+ is_nullabe => 1,
+ size => 255,
+ }
);
__PACKAGE__->set_primary_key("surveyid");
View
615 Survey-Perl/lib/Survey/Perl/Answers/Schema/Result/Surveys.pm
@@ -0,0 +1,615 @@
+package Survey::Perl::Answers::Schema::Result::Surveys;
+
+# Created by DBIx::Class::Schema::Loader
+# DO NOT MODIFY THE FIRST PART OF THIS FILE
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class::Core';
+
+
+=head1 NAME
+
+Survey::Perl::Answers::Schema::Result::Surveys
+
+=cut
+
+__PACKAGE__->table("surveys");
+
+=head1 ACCESSORS
+
+=head2 management_unmaintainable
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 email
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 x_comments
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 x_platform
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 report
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 understand
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 force
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 run_tests
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cpan4
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cpan3
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cpan2
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cpan1
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cpan_important
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cert_comments
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cert_other
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cert_me
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 words
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 frustrates
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 best
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 apps
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 embedded
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 netengs
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 sysadmins
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 experienced
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 early_career
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 beginner
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 first
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 management_scale
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 mangement_unmaintainable
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 management_outdated
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 management_encourages
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 scale
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 unmaintainable
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 startup
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 eliminate
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 legacy
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cpan_feature
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cpan_fix_bug
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cpan_bug
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 feature_interpreter
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 fix_bug_interpreter
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 bug_report_interpreter
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 handover_modules
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 cpan_modules
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 conference
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 pm_meetings
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 local_pm
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 tech_list_non_perl
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 tech_list
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 pm_list
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 perl_editors_secondary
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 perl_editors
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 perl_freq
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 lang4
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 lang3
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 lang2
+
+ data_type: (empty string)
+ is_nullable: 1
+
+=head2 lang1
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 lang
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 os_deployment
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 os_dev
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 perl_versions
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 spare_time
+
+ data_type: (empty string)
+ is_nullable: 1
+
+=head2 percent_perl
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 percent_management
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 percent_programming
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 perl_length
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 prog_length
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 industries
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 income
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 other_dynamic_taught
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 other_dynamic_formal
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 perl_formal
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 field
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 highest_qual
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 country_residence
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 country_birth
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 age
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 gender
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 sessionid
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 user_agent
+
+ data_type: 'text'
+ is_nullable: 1
+
+=head2 finish_time
+
+ data_type: (empty string)
+ is_nullable: 1
+
+=head2 integer
+
+ data_type: (empty string)
+ is_nullable: 1
+
+=head2 surveyid
+
+ data_type: 'integer'
+ is_nullable: 1
+
+=cut
+
+__PACKAGE__->add_columns(
+ "management_unmaintainable",
+ { data_type => "text", is_nullable => 1 },
+ "email",
+ { data_type => "text", is_nullable => 1 },
+ "x_comments",
+ { data_type => "text", is_nullable => 1 },
+ "x_platform",
+ { data_type => "text", is_nullable => 1 },
+ "report",
+ { data_type => "text", is_nullable => 1 },
+ "understand",
+ { data_type => "text", is_nullable => 1 },
+ "force",
+ { data_type => "text", is_nullable => 1 },
+ "run_tests",
+ { data_type => "text", is_nullable => 1 },
+ "cpan4",
+ { data_type => "text", is_nullable => 1 },
+ "cpan3",
+ { data_type => "text", is_nullable => 1 },
+ "cpan2",
+ { data_type => "text", is_nullable => 1 },
+ "cpan1",
+ { data_type => "text", is_nullable => 1 },
+ "cpan_important",
+ { data_type => "text", is_nullable => 1 },
+ "cert_comments",
+ { data_type => "text", is_nullable => 1 },
+ "cert_other",
+ { data_type => "text", is_nullable => 1 },
+ "cert_me",
+ { data_type => "text", is_nullable => 1 },
+ "words",
+ { data_type => "text", is_nullable => 1 },
+ "frustrates",
+ { data_type => "text", is_nullable => 1 },
+ "best",
+ { data_type => "text", is_nullable => 1 },
+ "apps",
+ { data_type => "text", is_nullable => 1 },
+ "embedded",
+ { data_type => "text", is_nullable => 1 },
+ "netengs",
+ { data_type => "text", is_nullable => 1 },
+ "sysadmins",
+ { data_type => "text", is_nullable => 1 },
+ "experienced",
+ { data_type => "text", is_nullable => 1 },
+ "early_career",
+ { data_type => "text", is_nullable => 1 },
+ "beginner",
+ { data_type => "text", is_nullable => 1 },
+ "first",
+ { data_type => "text", is_nullable => 1 },
+ "management_scale",
+ { data_type => "text", is_nullable => 1 },
+ "mangement_unmaintainable",
+ { data_type => "text", is_nullable => 1 },
+ "management_outdated",
+ { data_type => "text", is_nullable => 1 },
+ "management_encourages",
+ { data_type => "text", is_nullable => 1 },
+ "scale",
+ { data_type => "text", is_nullable => 1 },
+ "unmaintainable",
+ { data_type => "text", is_nullable => 1 },
+ "startup",
+ { data_type => "text", is_nullable => 1 },
+ "eliminate",
+ { data_type => "text", is_nullable => 1 },
+ "legacy",
+ { data_type => "text", is_nullable => 1 },
+ "cpan_feature",
+ { data_type => "text", is_nullable => 1 },
+ "cpan_fix_bug",
+ { data_type => "text", is_nullable => 1 },
+ "cpan_bug",
+ { data_type => "text", is_nullable => 1 },
+ "feature_interpreter",
+ { data_type => "text", is_nullable => 1 },
+ "fix_bug_interpreter",
+ { data_type => "text", is_nullable => 1 },
+ "bug_report_interpreter",
+ { data_type => "text", is_nullable => 1 },
+ "handover_modules",
+ { data_type => "text", is_nullable => 1 },
+ "cpan_modules",
+ { data_type => "text", is_nullable => 1 },
+ "conference",
+ { data_type => "text", is_nullable => 1 },
+ "pm_meetings",
+ { data_type => "text", is_nullable => 1 },
+ "local_pm",
+ { data_type => "text", is_nullable => 1 },
+ "tech_list_non_perl",
+ { data_type => "text", is_nullable => 1 },
+ "tech_list",
+ { data_type => "text", is_nullable => 1 },
+ "pm_list",
+ { data_type => "text", is_nullable => 1 },
+ "perl_editors_secondary",
+ { data_type => "text", is_nullable => 1 },
+ "perl_editors",
+ { data_type => "text", is_nullable => 1 },
+ "perl_freq",
+ { data_type => "text", is_nullable => 1 },
+ "lang4",
+ { data_type => "text", is_nullable => 1 },
+ "lang3",
+ { data_type => "text", is_nullable => 1 },
+ "lang2",
+ { data_type => "", is_nullable => 1 },
+ "lang1",
+ { data_type => "text", is_nullable => 1 },
+ "lang",
+ { data_type => "text", is_nullable => 1 },
+ "os_deployment",
+ { data_type => "text", is_nullable => 1 },
+ "os_dev",
+ { data_type => "text", is_nullable => 1 },
+ "perl_versions",
+ { data_type => "text", is_nullable => 1 },
+ "spare_time",
+ { data_type => "", is_nullable => 1 },
+ "percent_perl",
+ { data_type => "text", is_nullable => 1 },
+ "percent_management",
+ { data_type => "text", is_nullable => 1 },
+ "percent_programming",
+ { data_type => "text", is_nullable => 1 },
+ "perl_length",
+ { data_type => "text", is_nullable => 1 },
+ "prog_length",
+ { data_type => "text", is_nullable => 1 },
+ "industries",
+ { data_type => "text", is_nullable => 1 },
+ "income",
+ { data_type => "text", is_nullable => 1 },
+ "other_dynamic_taught",
+ { data_type => "text", is_nullable => 1 },
+ "other_dynamic_formal",
+ { data_type => "text", is_nullable => 1 },
+ "perl_formal",
+ { data_type => "text", is_nullable => 1 },
+ "field",
+ { data_type => "text", is_nullable => 1 },
+ "highest_qual",
+ { data_type => "text", is_nullable => 1 },
+ "country_residence",
+ { data_type => "text", is_nullable => 1 },
+ "country_birth",
+ { data_type => "text", is_nullable => 1 },
+ "age",
+ { data_type => "text", is_nullable => 1 },
+ "gender",
+ { data_type => "text", is_nullable => 1 },
+ "sessionid",
+ { data_type => "text", is_nullable => 1 },
+ "user_agent",
+ { data_type => "text", is_nullable => 1 },
+ "finish_time",
+ { data_type => "", is_nullable => 1 },
+ "integer",
+ { data_type => "", is_nullable => 1 },
+ "surveyid",
+ { data_type => "integer", is_nullable => 1 },
+);
+__PACKAGE__->set_primary_key("surveyid");
+
+
+# Created by DBIx::Class::Schema::Loader v0.06000 @ 2010-04-30 21:54:02
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:4JzbL12b6pG6nf7Q+ay5iQ
+
+
+# You can replace this text with custom content, and it will be preserved on regeneration
+1;
View
44 Survey-Perl/lib/Survey/Perl/Controller/Survey.pm
@@ -30,29 +30,39 @@ sub get_root : Chained("survey_base") : PathPart("") : Args(0) {
sub finish_survey : Chained("survey_base") PathPart("finish") Args(0) {
my ( $self, $c ) = @_;
my $answers = $c->req->params;
- $c->log->debug( "Params: " . Dumper $answers);
+ $answers->{user_agent} = $c->req->user_agent;
+ $answers->{sessionid} = $c->sessionid;
+ $answers->{finish_time} = gmtime;
delete $answers->{'submit'};
my @multis;
- $c->log->debug( "Answers: " . Dumper @{ $answers->{'field'} } );
- push @multis, { industries => $_ } for @{ $answers->{'industries'} };
- push @multis, { perl_versions => $_ } for @{ $answers->{'perl_versions'} };
- push @multis, { os_dev => $_ } for @{ $answers->{'os_dev'} };
- push @multis, { os_deployment => $_ } for @{ $answers->{'os_deployment'} };
- push @multis, { perl_editors => $_ } for @{ $answers->{'perl_editors'} };
- push @multis, { perl_editors_secondary => $_ } for @{ $answers->{'perl_editors_secondary'} };
- delete $answers->{$_}
- for qw/ industries perl_versions os_dev field os_deployment perl_editors perl_editors_secondary/;
- $c->log->debug( "multis: " . Dumper @multis );
+ my $industries = $answers->{'industries'};
+ my $perls = $answers->{'perl_versions'};
+ my $os = $answers->{'os_dev'};
+ my $os_deploy = $answers->{'os_deployment'};
+ my $editors = $answers->{'perl_editors'};
+ my $secondary_editors = $answers->{'perl_editors_secondary'};
+ for ( qw/ industries perl_versions os_dev field os_deployment perl_editors perl_editors_secondary/ ) {
+ if ( ref $answers->{$_} eq 'ARRAY' ) {
+ $answers->{$_} = Dumper $answers->{$_};
+ }
+ else {
+ $answers->{$_} = Dumper [$answers->{$_}];
+ }
+ }
+ #push @multis, map +{ perl_versions => $_ }, @$perls;
+ #push @multis, map +{ os_dev => $_ }, @$os;
+ #push @multis, map +{ os_deployment => $_ }, @$os_deploy;
+ #push @multis, map +{ perl_editors => $_ }, @$editors;
+ #push @multis, map +{ perl_editors_secondary => $_ }, @$secondary_editors;
+ $c->log->debug( "multis: " . Dumper $answers );
my $rs = $c->model('Answers')->txn_do(
sub {
- $c->model('Answers::Survey')->populate( \@multis )
- or die "Could not submit survey answers: $!";
-
- $c->model('Answers::Survey')->create($answers)
- or die "Could not submit survey answers: $!";
+ $c->log->debug('creating answers');
+ $c->model('Answers::Surveys')->create($answers)
+ or die "Could not submit survey answers: $!";
}
);
-
+ $c->log->debug("Rs: $rs");
}
1;
View
5 Survey-Perl/script/make_schema.pl
@@ -13,14 +13,15 @@
}
-make_schema_at("PerlSurvey::Schema",
+make_schema_at("Survey::Perl::Answers::Schema",
{
%options,
debug => 1,
relationships => 1,
use_namespaces => 1,
dump_directory => "$Bin/../lib" ,
+ overwrite_modifications=> 1,
},
- ["dbi:SQLite:dbname=$Bin/../db/survey.db",
+ ["dbi:SQLite:$Bin/../db/answers.db",
"",""]);
View
1 Survey-Perl/survey.POST
@@ -0,0 +1 @@
+http://localhost:3000/survey/finish?gender=0&age=3&country_birth=&country_residence=&highest_qual=3&field=Science%3E&field=Social+Science%3E&perl_formal=0&other_dynamic_formal=0&other_dynamic_taught=none&income=1&industries=Electronics%3E&prog_length=3&perl_length=3&percent_programming=1&percent_management=0&percent_perl=3&spare_time=2&perl_versions=5.8.x%3E&perl_versions=5.10.x%3E&perl_versions=4&os_dev=Mac+OS+X+for+personal+computers%3E&os_deployment=Linux+-+ubuntu%3E&os_deployment=Mac+OS+X+for+personal+computers%3E&os_deployment=Windows+XP%3E&lang=&lang1=&lang2=&lang3=&lang4=&perl_editors=Emacs+%3E&perl_editors_secondary=Vi%3E&perl_editors_secondary=Vim+%3E&pm_list=2&tech_list=2&tech_list_non_perl=2&local_pm=0&pm_meetings=2&conference=1&cpan_modules=1&handover_modules=0&feature_interpreter=0&cpan_bug=2&cpan_fix_bug=2&cpan_feature=2&legacy=1&eliminate=4&startup=2&unmaintainable=1&scale=1&management_encourages=4&management_outdated=4&management_unmaintainable=4&management_scale=2&first=5&beginner=5&early_career=5&experienced=6&sysadmins=6&netengs=6&embedded=0&apps=5&best=CPAN&frustrates=the+perception+that+it%27s+somehow+obsolete&words=flexible%2C+fast%2C+easy%2C+comprehensive&cert_me=1&cert_other=4&cert_comments=&cpan_important=&cpan1=&cpan2=&cpan3=&cpan4=&run_tests=5&force=5&understand=4&report=4&x_platform=5&x_comments=Strawberry+Perl+makes+a+huge+difference+here&email=diment%40gmail.com&submit=Finished
View
4 Survey-Perl/survey/en.pl
@@ -63,7 +63,7 @@
please name them (in order of how much you covered them)?',
field => 'other_dynamic_taught' } ,
{ type => 'radio_list',
- title => 'Your aproximate annual income',
+ title => 'Your aproximate annual income (in US dollars)',
field => 'income',
labels => ['$0- $30,000',
'$30,000 - $60,000',
@@ -621,7 +621,7 @@
field => 'report' } ,
{ type => 'likert' , title => 'Running the same perl program across more than one platform (e.g. linux, mac os x windows) is easy',
field => 'x_platform' } ,
- { type => 'textarea',title => 'Please put any comments that you have about this survey here, so that we can improve the final version.',
+ { type => 'textarea',title => 'Any comments about cross platform perl programming?',
field => 'x_comments' } ,
],
[
View
472 Survey-Perl/t/survey_UI.t
@@ -0,0 +1,472 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="" />
+<title>survey_UI</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">survey_UI</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/survey</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>gender</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='age' and @value='1']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_country_birth</td>
+ <td>United States</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_country_residence</td>
+ <td>United States</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='highest_qual' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div/div/div[1]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='perl_formal' and @value='1']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='other_dynamic_formal' and @value='3']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>other_dynamic_taught</td>
+ <td>ruby</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>income</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[11]/fieldset/li[2]/div/div/div[7]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='prog_length' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='perl_length' and @value='1']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='percent_programming' and @value='3']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='percent_management' and @value='3']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='percent_perl' and @value='3']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='spare_time' and @value='3']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[7]/fieldset/li[2]/div/div/div[4]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[7]/fieldset/li[2]/div/div/div[2]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[7]/fieldset/li[2]/div/div/div[1]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[7]/fieldset/li[2]/div/div/div[5]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='perl_versions' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[9]/fieldset/li[2]/div/div/div[2]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[9]/fieldset/li[2]/div/div/div[5]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[9]/fieldset/li[2]/div/div/div[6]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[9]/fieldset/li[2]/div/div/div[3]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[10]/fieldset/li[2]/div/div/div[5]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[10]/fieldset/li[2]/div/div/div[1]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[10]/fieldset/li[2]/div/div/div[2]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_lang</td>
+ <td>ruby</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_lang1</td>
+ <td>java</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_lang2</td>
+ <td>php</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_lang3</td>
+ <td>C</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_lang4</td>
+ <td>javascript</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>perl_freq</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[1]/fieldset/li[2]/div/div/div[3]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[1]/fieldset/li[2]/div/div/div[4]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[1]/fieldset/li[2]/div/div/div[6]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[2]/fieldset/li[2]/div/div/div[3]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//ul[2]/fieldset/li[2]/div/div/div[5]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='pm_list' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='tech_list' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='tech_list_non_perl' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='local_pm' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>pm_meetings</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='conference' and @value='1']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='cpan_modules' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='handover_modules' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='bug_report_interpreter' and @value='1']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='fix_bug_interpreter' and @value='1']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='feature_interpreter' and @value='1']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='cpan_bug' and @value='1']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='cpan_fix_bug' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='cpan_feature' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='legacy' and @value='1']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='eliminate' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='startup' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='unmaintainable' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='scale' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='management_encourages' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='management_outdated' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='management_unmaintainable' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='management_scale' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='first' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='beginner' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='early_career' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='experienced' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='sysadmins' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='netengs' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='embedded' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='apps' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>best</td>
+ <td>everything</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>frustrates</td>
+ <td>nothing</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>words</td>
+ <td>awesome, awesome, awesome</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='cert_me' and @value='1']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='cert_other' and @value='1']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>cert_comments</td>
+ <td>balls</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_cpan_important</td>
+ <td>anus</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_cpan1</td>
+ <td>balls</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_cpan2</td>
+ <td>shit</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_cpan3</td>
+ <td>fuck</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>ac_cpan4</td>
+ <td>balls</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='run_tests' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='force' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='understand' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='report' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//input[@name='x_platform' and @value='2']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>x_comments</td>
+ <td>yes</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>email</td>
+ <td>dhoss@cpan.org</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>submit</td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
View
1,824 Survey-Perl/test.csv
@@ -0,0 +1,1824 @@
+surveyid,1
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,Architectural Services>
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,2
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,Automotive>
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,3
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,Computers - Hardware>
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,4
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,5.5005>
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,5
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,5.6.x>
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,6
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,5.10.x>
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,7
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,
+os_dev,Android>
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,8
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,
+os_dev,BeOS>
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,9
+gender,1
+age,1
+country_birth,
+country_residence,
+highest_qual,2
+field,
+perl_formal,3
+other_dynamic_formal,3
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,10
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,Agriculture/Forestry/Fishing>
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,11
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,Automotive>
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,12
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,Computers - Services>
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,13
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,5.6.x>
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,14
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,5.8.x>
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,15
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,5.10.x>
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,16
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,1
+os_dev,
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,17
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,
+os_dev,BSD - openbsd>
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaintainable,
+management_scale,
+first,
+beginner,
+early_career,
+experienced,
+sysadmins,
+netengs,
+embedded,
+apps,
+best,
+frustrates,
+words,
+cert_me,
+cert_other,
+cert_comments,
+cpan_important,
+cpan1,
+cpan2,
+cpan3,
+cpan4,
+run_tests,
+force,
+understand,
+report,
+x_platform,
+x_comments,
+email,
+surveyid,18
+gender,
+age,
+country_birth,
+country_residence,
+highest_qual,
+field,
+perl_formal,
+other_dynamic_formal,
+other_dynamic_taught,
+income,
+industries,
+prog_length,
+perl_length,
+percent_programming,
+percent_management,
+percent_perl,
+spare_time,
+perl_versions,
+os_dev,EPOC>
+os_deployment,
+lang,
+lang1,
+lang2,
+lang3,
+lang4,
+perl_freq,
+pm_list,
+tech_list,
+tech_list_non_perl,
+local_pm,
+pm_meetings,
+conference,
+cpan_modules,
+handover_modules,
+bug_report_interpreter,
+fix_bug_interpreter,
+feature_interpreter,
+cpan_bug,
+cpan_fix_bug,
+cpan_feature,
+legacy,
+eliminate,
+startup,
+unmaintainable,
+scale,
+management_encourages,
+management_outdated,
+management_unmaint