Hello,
With this line the script run, no errors.
system "su postgres -c '/usr/local/pgsql/bin/pg_ctl
start -D /opt/@bancos[$i]'";
two things :
I use of stricts and warnings, and come this error
compilation when i wrote into my code.
Global symbol "$x" requires explicit package name at
./start-banco.pl line 7.
Global symbol "@word" requires explicit package name
at ./start-banco.pl line 11.
Global symbol "@bancos" requires explicit package name
at ./start-banco.pl line 17.
The compilation show there are variables globals.
What I can to resolve this problem ?
And How I can to use perldoc to read a directory and
store your names in a array ?
equal with x =`ls opt`; @word = split /\s+/, $x;
I'm bash programmer, and i want learn perl.
Best regards,
Rodrigo Faria
> On Mar 23, 10:43 am, [EMAIL PROTECTED]
(Rodrigo Tavares)
> wrote:
> > Hello,
> >
> > My code is below:
> >
>
> You should start your script with the following two
lines:
> use strict;
> use warnings;
>
> You could use Perl's builtin 'readdir' function to
get the contents of
> a directory.
> Type 'perldoc -f readdir' for more info.
> > $aux = `ls /opt`;
> > @word = split /\s+/, $aux;
> >
>
> No need for the initialization.
> > my @bancos = ();
> >
>
> Use a more descriptive name than $i.
> $dir or $directory, possibly.
> > foreach my $i (@word)
> > {
> > if ( -e "/opt/$i/postgresql.conf" )
> > {
> > push(@bancos,$i);
> > }
> > }
> >
>
> No need for a 'c' style for loop.
>
> foreach my $dir ( @bancos )
> {
> `su postgres -c "/usr/local/pgsql/bin/pg_ctl
start -D $dir`
> }
> > for ($i = 0; $i < @bancos; $i++)
> > {
>
> You forgot the backticks for issuing a system
command.
> > su postgres -c "/usr/local/pgsql/bin/pg_ctl
start -D
> > @bancos[$i]";
> >
> > }
> >
> > After running the script como the error:
> >
> > Can't locate object method "su" via package
"postgres"
> > (perhaps you forgot to load "postgres"?) at
./teste.pl
> > line 19.
> >
> > I don't understad this message ?
> >
> > Best regards,
> >
> > Rodrigo Faria Tavares
> >
> HTH, Ken
__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/