#!/usr/bin/perl
use warnings;
use strict 'refs';
use Data::Dumper;
my(@array1) = (1, 2, 3, 4);
my(@array2) = ('a', 'b', 'c', 'd', 'e', 'f');
####
push my @array3, @array1, @array2;
####
Parentheses missing around "my" list at try.pl line 12.
####
push (my @array3, @array1, @array2);
####
push (my @array3, @array1, @array2);
####
push my @array3, @array1, @array2;
####
#!/usr/bin/perl
use warnings;
use strict;
use DBI;
my $db_host = "mysql";
my $db_port = "3306";
my $db_user = 'web-user';
my $db_pass = 'pass4monks';
my $db_name = 'order_dev';
my $dbh = DBI->connect(
"DBI:mysql:database=$db_name;host=$db_host;port=$db_port",
$db_user, $db_pass
) || die ("ERROR: Unable to connect to '$db_name': $DBI::errstr" );
my ($enum_qry) = $dbh->prepare(
"SELECT column_type
FROM information_schema.columns
WHERE table_name = 'orders' AND column_name = 'request_status'
LIMIT 1;"
);
$enum_qry->execute;
my $enum_ref = $enum_qry->fetchrow_hashref;
(my $enum_types = $$enum_ref{'column_type'}) =~ s/^enum\((.*)\).*/$1/;
foreach my $enum_type ( eval $enum_types ) {
print qq[\n];
}
####
my $enum_types = "'On Order','Waiting, Pending Payment','Dispatched','Cancelled','Renewal','Amend\'ed'";
# NB: one value has a , in it and another a ' just to make this challenging... ;-)
foreach my $enum_type ( eval $enum_types ) {
print qq[\n];
}
####
while ( $enum_types =~ m/('(.*?)'|([^']*?))($|,\s*)/g ) {
my $match = $3 || $2;
print qq[\n] if $match;
}
####
#!/usr/bin/perl
use warnings;
use strict;
my $enum_types = "'On Order','Waiting, Pending Payment','Dispatched','Cancelled','Renewal','Amen'ded'";
foreach my $enum_type ( split /(?:^'|','|'$)/, $enum_types ) {
print qq[\n];
}
####
$ ./try.pl
####
my $command = '/usr/local/bin/program_with_multiline_output';
chomp(my(@output) = `$command`);
my $output = join($/, grep(/./, @output));
my $returned = $? >> 8;
print "Returned: [$returned]\n";
print "Message: [$output]\n";
####
and all is quiet...