Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par :

[perl]Variable avant et après "use strict;&qu

kepon, le lundi 20 février 2006 à 12:34:25 
 Signaler ce message aux modérateurs

Bonjour, voilà j'ai un script perl auquelle je veu ajouter une fonction de création de base de donnée suivant un utilisateur... la variiable $user1 est valide dans la 1er partie du script mais pas dans la 2de... (use strict;)... donc voilà mon bute est de que $user1 = $user2 mais comment faire???

voilà un bout de mon code :

#!/usr/bin/perl

#1er PARTIE DU SCRIPT
#tous le début du script
$user1 = "toto";
#tous le rest de mon script...

#2ème partie du script
  use strict;
  use DBI();
  # Connect to the database.
  my $dbh = DBI->connect("DBI:mysql:database=mysql;host=localhost",
                         "root", "passroot",
                         {'RaiseError' => 1});
my $user2 = $user1;
$dbh->do("CREATE DATABASE $user2");
  # Disconnect from the database.
  $dbh->disconnect(); 

1

kepon, le lundi 20 février 2006 à 13:36:57

Personne ne peut m'aider?

Répondre à kepon

2

lami20j, le mardi 21 février 2006 à 21:51:48

Salut,

  # Connect to the database.
 my $dbh = DBI->connect("DBI:mysql:database=mysql;host=localhost",
                        "root", "passroot",
                        {'RaiseError' => 1});
my $user2 = $user1;
$dbh->do("CREATE DATABASE $user2");
 # Disconnect from the database.
 $dbh->disconnect(); 


Donc tu as le descripteur de ta base de donnée mysql dans la variable $dbh.

Ensuite tu fait un $dbh->do("CREATE DATABASE $user2) qui n'est pas logique.

Dans une base de donnée on peut créer une table mais pas une autre base.

En ce qui concerne les variables $user1 et my $user2, je ne vois pas la raison pour laquelle tu n'utilise pas use strict au début de ton script. Tu peut entourré avec des accolades {} les parties de script pour limiter la portée de tes variables.
Mais tu fais comme tu veux.

Voilà une solution pour ton problème avec les variables $user1 et my $user2
#! /usr/bin/perl

$user1="toto";
sub var { return $user1 }

use strict;

# my $user2=$user1 ne fonctionne pas à cause de use strict
#Global symbol "$user1" requires explicit package name

my $user2=var;# en revanche la fonction var nous retourne $user1
print "$user2\n";# maintenant $user2 vaut toto

Répondre à lami20j

3

 lami20j, le mardi 21 février 2006 à 23:43:19

Re,

Voilà encore 2 façon de le faire
1. utilisation de our

#! /usr/bin/perl
our $user1="toto";

use strict;
my $user2=$user1;
print "$user2\n";
2. utilisation de my
#! /usr/bin/perl
my $user1="toto";

use strict;
my $user2=$user1;
print "$user2\n";

Répondre à lami20j
Les variables avec Perl Concept de variable avec Perl Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Perl peuvent être de trois... www.commentcamarche.net/contents/perl/perlvar.php3
[PERL]tableau de valeurs dans une variable (Résolu) Bonjour, voici un bout de programme opérationnel qui me fournit un joli graph. #!/usr/bin/perl -i.orig use perlchartdir; # The data for the line chart CONNEXIONS my $data = [30, 28, 40, 55, 75, 68, 54, 60, 50, 62, 75, 65, 75, 91, 60, 55, 53, 35, 50,... www.commentcamarche.net/forum/affich-9134672-perl-tableau-de-valeurs-dans-une-variable
[PERL] comparaison de chaines (Résolu) Bonjour a tous!! voila je voudrait comparer une 2 chaines les 2 chaines sont récupérées a partir de 2 documents textes voici un aperçu de mon code : #!C:\\Perl\\bin\\perl use strict; open (IN, "test.txt") || die "Impossible d'ouvrir le fichier pour... www.commentcamarche.net/forum/affich-3122349-perl-comparaison-de-chaines
[Bash] La variable d'environnement PATHLa variable d'environnement PATH I. Préambule II. C'est quoi le shell ? III. Définition IV. Séance de dissection V. Ajouter un répertoire à la variable PATH VI. Et puis... I. Préambule Sous les systèmes GNU/Linux qu'on le veuille ou... www.commentcamarche.net/faq/sujet-3585-bash-la-variable-d-environnement-path
Le remplacement de variables en shell BashLe remplacement de variables Introduction Il peut s'avérer utile de s'assurer qu'une variable est bien définie avant de procéder à son remplacement, ou tout simplement de s'assurer que celle-ci n'est pas vide, et dans ce cas de l'initialiser avec... www.commentcamarche.net/faq/sujet-5387-le-remplacement-de-variables-en-shell-bash
[Shell] Tester une variable numériqueTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à... www.commentcamarche.net/faq/sujet-4605-shell-tester-une-variable-numerique
[Perl] Suppr d'espaces en début de ligne (Résolu)Salut à tous, J'ai un petit souci avec une expression régulière Perl. Je fais un test avec le petit programme suivant : #!/usr/bin/perl -w use strict; my $text = " hey bonjour\n \t pof pif"; print "$text\n"; $text =~ s/^[ \t]+//g; print "$text\n";... www.commentcamarche.net/forum/affich-1863320-perl-suppr-d-espaces-en-debut-de-ligne
Perl | Commande DOSBonjour, Je voulais savoir comment on intégrait une commande DOS dans un script PERL, car j'ai testé ça : #!/usr/bin/perl -w use strict; my $rep = ""; system $rep; print $rep; et même : #!/usr/bin/perl -w use strict; my $rep=`dir`; print "Repertoire... www.commentcamarche.net/forum/affich-8321397-perl-commande-dos
Perl choisir un nbre ou mot en aleatoiresalut a tous J'ai commence le perl depuis peu et la je suis un peu bloquer. pourriez vous m'aider a comprendre. voila mon soucis je choisis aleatoirement des chiffres en ecrivant ce programme #!/usr/bin/perl; use strict; my @cle = (1,3,5,6,8,10); my... www.commentcamarche.net/forum/affich-2998595-perl-choisir-un-nbre-ou-mot-en-aleatoire
Télécharger Avant BrowserLes pages Web sont parfois truffées de publicités ou des bannières au format flash. Il faut savoir que ces pubs représentent environ 90% du poids total de la page, ce qui encombrent la bande passante et ralentissent votre connexion. Avant Browser... www.commentcamarche.net/telecharger/telecharger-34056498-avant-browser
Télécharger Avant-BrowserAvant Browser est un navigateur offrant les fonctionnalités suivantes : RSS Stockage du profil de l'utilisateur en ligne Auto-complétion des formulaires Bloqueur de publicité www.commentcamarche.net/telecharger/telecharger-34055489-avant-browser
Perl - Les fichiersLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles... www.commentcamarche.net/contents/perl/perlfich.php3
Javascript - Les variablesLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,... www.commentcamarche.net/contents/javascript/jsvar.php3
Variables d'environnementVariables d'environnement Une variable d'environnement est une valeur dynamique, chargée en mémoire, pouvant être utilisée par plusieurs processus fonctionnant simultanément. Sur la plupart des systèmes d'exploitation, les emplacement de certaines... www.commentcamarche.net/contents/systemes/variables-environnement.php3