[perl]Variable avant et après "use strict;&qu
Fermé
kepon
-
20 févr. 2006 à 12:34
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 21 févr. 2006 à 23:43
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 21 févr. 2006 à 23:43
A voir également:
- [perl]Variable avant et après "use strict;&qu
- Copains d'avant qui a visité mon profil - Forum Facebook
- En préparation avant distribution ✓ - Forum Consommation & Internet
- Dans la présentation à télécharger, sarah avait encadré directement le titre de certaines diapositives avant d’automatiser cette mise en forme pour tout le document. sur quelles diapositives avait-elle encadré directement le titre ? ✓ - Forum Bureautique
- Comment remettre ma page d'accueil comme avant ✓ - Forum Réseaux sociaux
- Copain d'avant ✓ - Forum Réseaux sociaux
3 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
21 févr. 2006 à 21:51
21 févr. 2006 à 21:51
Salut,
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
# 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
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
21 févr. 2006 à 23:43
21 févr. 2006 à 23:43
Re,
Voilà encore 2 façon de le faire
1. utilisation de our
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";